Windows 如何在CygWin中执行.lua文件?
我刚刚安装了CygWin和curl,因为我想做一些无关的事情。但是现在,我想在CygWin中执行一个.lua文件,并希望在当前窗口CygWin窗口上打印结果。我希望它类似于打开CMD,然后执行Windows 如何在CygWin中执行.lua文件?,windows,lua,cygwin,Windows,Lua,Cygwin,我刚刚安装了CygWin和curl,因为我想做一些无关的事情。但是现在,我想在CygWin中执行一个.lua文件,并希望在当前窗口CygWin窗口上打印结果。我希望它类似于打开CMD,然后执行cd。然后只需执行.lua,它就会打印结果。那我该怎么做呢?很抱歉,我对Linux、Unix、CLI等有点陌生,对bash命令了解不多 我尝试从这里使用该方法: 我刚刚做了/.lua,我得到了 ./<filename>.lua: line 1: syntax error near unexpec
cd
。然后只需执行.lua
,它就会打印结果。那我该怎么做呢?很抱歉,我对Linux、Unix、CLI等有点陌生,对bash命令了解不多
我尝试从这里使用该方法:
我刚刚做了/.lua
,我得到了
./<filename>.lua: line 1: syntax error near unexpected token `"Hello world"'
./<filename>.lua: line 1: `print("Hello world")'
如果文件标记为可执行文件,则运行
/.lua
将默认以shell脚本的形式执行文件(即sh
,bash
,zsh
等)。这会导致您看到的错误,很容易重新创建
在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
)的工具),并且Lua位于您的计算机中
然后,不要直接执行文件,而是使用Lua解释器运行它
$ lua <filename>.lua
$lua.lua
或者,使用指令指示shell如何执行文件。是否安装了lua包
cygcheck-clua
从cygwin terminalcheckout文件编码中执行此操作。我执行了cygcheck-c
操作,但lua未在此处列出。如果我做了cygcheck-clua
,它只会说包版本状态
,但没有列出lua。我不知道我需要为cygwin64安装lua?哦,对不起。我本来会早点回复的,但是我整天都在忙着做一些事情,我完全忘记了这件事@莫特斯什么?哇,我都不知道你用那玩意儿干了什么。再说一次,我对Linux、Unix、CLI等都不是很在行。不管怎样,我照你说的做了。我搜索了apt cyg,安装了它。但我实际上是用Cygwin安装GUI安装了lua5.1
。所以我继续做了lua-5.1.lua
,然后打印出来。谢谢你们帮助我这样的傻瓜。@rumpled105echo
将其参数打印到标准输出
将输出重定向到script.sh
文件,覆盖其内容<代码>&如果上一个命令成功执行,则执行下一个命令(返回状态为0
)chmod+x
将文件标记为可执行文件/script.sh
运行该文件。通过在shell中玩游戏并阅读一些文档,您将及时了解这些内容。如果答案有帮助,一定要接受,这样别人就会知道你的问题已经解决了。干杯。我建议使用#/usr/bin/lua
shebang行是执行此操作的首选方式。@KeithThompson#/usr/bin/env lua
,一般情况下,否?在您的路径中安装Lua解释器仍然是正常使用的理想选择。@Oka:在Cygwin下,除非您手动安装,否则Lua解释器将是/usr/bin/Lua
。虽然它在Cygwin上,但不能保证env
是/usr/bin/env
。我已经讨论了#的利弊/usr/bin/env
hack。
$ lua <filename>.lua