在命令行中使用 for 循环执行 Lua 脚本

我有一个 Lua 程序文件:

$ cat three.lua
for i = 1, 3 do print(i) end

它在 Lua 5.3 上运行得很好:

$ lua three.lua
1
2
3

但是我无法在命令行上使用 -e 运行它:

$ lua -e 'for i = 1, 3 do print(i) end'
lua5.3: (command line):1: <name> expected near <eof>

更简单的程序使用 -e 可以很好地工作:

$ lua -e 'print("Hello");print("World")'
Hello
World

看起来 Lua 的脚本构建 -e 不喜欢有终止符 end 的结构化 for 语句。我错在哪里了?

点赞
用户2420301
用户2420301

在 macOS 上使用 Lua 5.3.4 可以正常工作。

2017-05-14 09:57:08