运行 Lua 脚本直接在 OpenWRT 上(没有先 运行 lua)
Running Lua script on OpenWRT directly (without running lua first)
在 OpenWRT 上,我有一个 Lua 脚本 on_new_device.lua
如果我执行 运行 就没问题 lua on_new_device.lua
;但是,我想 运行 只需执行 ./on_new_device.lua
.
正在执行./on_new_device.lua
returns这个错误...
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
如何直接执行这个文件?
你能用脚本包装它吗?
将其复制到 test.ash 文件中:
#!/bin/ash
/usr/bin/lua /[path]/on_new_device.lua
然后在test.ash上chmod 755,然后就可以运行:
./test.ash
糟糕,问题是 lua 脚本是在 Windows 机器上创建的,并且有 \r\n 行结尾。使用 \n 行结尾保存文件解决了这个问题。
在 OpenWRT 上,我有一个 Lua 脚本 on_new_device.lua
如果我执行 运行 就没问题 lua on_new_device.lua
;但是,我想 运行 只需执行 ./on_new_device.lua
.
正在执行./on_new_device.lua
returns这个错误...
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
如何直接执行这个文件?
你能用脚本包装它吗?
将其复制到 test.ash 文件中:
#!/bin/ash
/usr/bin/lua /[path]/on_new_device.lua
然后在test.ash上chmod 755,然后就可以运行:
./test.ash
糟糕,问题是 lua 脚本是在 Windows 机器上创建的,并且有 \r\n 行结尾。使用 \n 行结尾保存文件解决了这个问题。