【问题标题】:How do I execute a .lua file in CygWin?如何在 CygWin 中执行 .lua 文件?
【发布时间】:2017-06-27 07:36:26
【问题描述】:

我刚刚安装了 CygWin 和 curl,因为我想做一些不相关的事情。但是现在,我想在 CygWin 中执行一个 .lua 文件,并且我希望在当前窗口 CygWin 窗口上打印结果。我希望它就像打开 CMD 然后执行 cd <directory where the file is> 一样。然后只需执行<filename>.lua 并打印结果。那我该怎么做呢?抱歉,我对 Linux、Unix、CLI 等有点陌生,对 bash 命令了解不多。

我尝试使用这里的方法:How do I execute a file in Cygwin? 我刚刚做了./<filename>.lua,我得到了

./<filename>.lua: line 1: syntax error near unexpected token `"Hello world"'
./<filename>.lua: line 1: `print("Hello world")'

文件只有

print("hello world")

【问题讨论】:

  • 你安装了lua包吗? cygcheck -c lua 从 cygwin 终端执行此操作
  • 结帐文件编码。
  • 我做了cygcheck -c 并且 lua 没有在那里列出。如果我做cygcheck -c lua 它只是说Package Version Status,但没有列出lua。我不知道我需要为 cygwin64 安装 lua?哦,对不起。我本来会早点回复的,但我整天忙于做某事,我完全忘记了这一点。 @moteus 什么?

标签: windows lua cygwin


【解决方案1】:

如果您的文件被标记为可执行文件,运行./&lt;filename&gt;.lua 将默认将文件作为shell 脚本 执行,(即shbashzsh 等.)。这会导致您看到的错误很容易重新创建。

bash:

$ echo 'print("Hello world")' > script.sh && chmod +x script.sh && ./script.sh
./script.sh: line 1: syntax error near unexpected token `"Hello world"'
./script.sh: line 1: `print("Hello world")'

您需要做的第一件事是确保 Lua 已安装(重新运行 Cygwin 设置 GUI,或使用 apt-cyg 之类的工具),并且位于您的 $PATH 中。

然后不要直接执行文件,而是使用 Lua 解释器运行它。

$ lua <filename>.lua

或者,使用shebang 指令来指示shell 应该如何执行文件。

【讨论】:

  • 哇,我什至不知道你用 bash 的东西做了什么。再说一次,我对 Linux、Unix、CLI 等不是很擅长。不管怎样,我照你说的做了。我搜索了apt-cyg,安装了它。但我实际上使用 Cygwin 设置 GUI 安装了lua5.1。所以我继续做lua-5.1 &lt;filename&gt;.lua 并打印出来。谢谢你们帮助像我这样的菜鸟。
  • @rumpled105 echo 将其参数打印到标准输出; &gt; 将该输出重定向到 script.sh 文件,覆盖其内容。如果上一个命令成功,&amp;&amp; 执行下一个命令(返回状态为0)。 chmod +x 将文件标记为可执行文件。 ./script.sh 运行该文件。通过在 shell 中玩耍并阅读一些文档,您将及时掌握这些内容。如果有帮助,请确保接受答案,以便其他人知道您的问题已解决。干杯。
  • 我建议使用#!/usr/bin/lua shebang 线路是首选方式。
  • @KeithThompson #!/usr/bin/env lua,一般来说,不是吗?在您的路径中使用 Lua 解释器对于正常使用来说仍然是理想的。
  • @Oka:在 Cygwin 下,除非您手动安装,否则 Lua 解释器将是 /usr/bin/lua。没有普遍的保证env/usr/bin/env,尽管它在 Cygwin 上。我已经讨论了#!/usr/bin/env hack here 的优缺点。
猜你喜欢
  • 2010-09-07
  • 1970-01-01
  • 2018-05-17
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 2013-05-04
相关资源
最近更新 更多