如何在CygWin中执行.lua文件?

时间:2017-02-09 10:30:35

标签: windows lua cygwin

我刚刚安装了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")

1 个答案:

答案 0 :(得分:1)

如果您的文件被标记为可执行文件,则运行./<filename>.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如何执行文件。