直接在OpenWRT上运行Lua脚本(无需先运行lua)

时间:2019-06-18 16:29:47

标签: lua openwrt

在OpenWRT上,我有一个Lua脚本on_new_device.lua,如果执行lua on_new_device.lua,该脚本可以正常运行;但是,我只想通过执行./on_new_device.lua来运行它。

执行./on_new_device.lua会返回此错误...

root@router:~# ./on_new_device.lua
-ash: ./on_new_device.lua: not found

该文件具有执行权限...

root@router:~# ls -la ./on_new_device.lua
-rwxrwxrwx    1 root     root          1094 Jun 18 11:06 ./on_new_device.lua

文件开头为#!/usr/bin/lua ...

root@router:~# head -1 ./on_new_device.lua
#!/usr/bin/lua

如何直接执行此文件?

2 个答案:

答案 0 :(得分:4)

您可以将其包装在脚本中吗?

将其复制到test.ash文件中:

#!/bin/ash

/usr/bin/lua /[path]/on_new_device.lua

然后在test.ash上使用chmod 755,然后可以运行:

./test.ash

答案 1 :(得分:0)

Bah,问题在于lua脚本是在Windows计算机上创建的,并且具有\ r \ n行尾。保存带有\ n行尾的文件可以解决此问题。