2017-07-28 67 views
3

genrated我有一個名爲hello.lua如何執行由luac在Linux

print('Hello Lua') 

我遵守這個文件字節碼在RedHat Linux機器上,使用Lua5.3.4如下一個簡單的lua代碼LUA字節碼:

luac -o hello.luac hello.lua 
chmod +x hello.luac 
./hello.luac 
bash: ./hello.luac: cannot execute binary file 

建築應該沒問題,我猜。我不知道什麼是錯的。

回答

3

預編譯的Lua程序運行完全相同的方式源:

lua hello.luac 
+1

不'luac'仍然支持家當? [手冊](http://www.lua.org/manual/5.3/manual.html#7)指出,口譯員的確有,但是[快速搜索](http://lua-users.org/lists/ lua-l/2010-05/msg00552.html)似乎可能已經在Lua 5.2中刪除了'luac'。 – Adam

+0

@亞當,是的,它在5.2以上。 – lhf

+0

@lhf工程!那很簡單。我假設它應該作爲一個沒有任何解釋器的二進制文件工作。 – sadashiv30

0

正如他的回答Lua的字節碼@lhf狀態使用Lua解釋執行,並作爲manual提示:

爲了允許在Unix系統中使用Lua作爲腳本解釋器,獨立解釋器跳過塊的第一行(如果它以#開頭)。因此,通過使用chmod +x#!表單,可以將Lua腳本製作成可執行程序。

添加shebang作爲腳本的第一行:

#!/usr/bin/env lua 
print('Hello Lua')