Запуск Lua-скрипта напрямую в OpenWRT (без запуска lua) - PullRequest
2 голосов
/ 18 июня 2019

В 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 ]

4 голосов
/ 18 июня 2019

Можете ли вы обернуть его в скрипт?

Скопируйте это в файл test.ash:

#!/bin/ash

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

Затем выполните chmod 755 в test.ash, и затем вы сможете запустить:

./test.ash
0 голосов
/ 18 июня 2019

Бах, проблема была в том, что скрипт lua был создан на машине с Windows и имел \ r \ n окончания строк. Сохранение файла с окончанием строки \ n решило проблему.

...