Файл .lua
выполняется, потому что я увидел строки из m.log()
в моем журнале, но код bash не выполняется.Зачем?Есть что-то, чего мне не хватает?Также нет ошибок в журналах о команде в os.execute()
.
#!/usr/bin/lua
function main()
m.log(1,"Starting script execution \n")
os.execute ("route add xx.xxx.xxx.xxx reject")
## i also tried os.execute ("/path/to/file.sh") and giving permision to execute with chmod +x filename.sh
m.log(1,"Script execution finished\n")
end
ПРИМЕЧАНИЕ. Я выполнил команду из os.execute()
непосредственно в командной строке, и IP-адрес был добавлен в route
что-то не так в моем коде lua ...
Я изменил permisions на 777 из папки / файла, в котором есть файл .lua
и .sh
только для проверки, была ли это проблема permision,и ничего не изменилось, я также попытался изменить владельца и группу пользователей.
Редактировать - Этот нижеприведенный ниже не работал, потому что он был в папке /root/
, поэтому мне нужно было переместить егона /var/www/
.
os.execute ("/path/to/file.sh")
Но код bash не выполняется, os.execute
возвращает состояние выхода 7 (слишком длинный список аргументов), я искал об этом и понял, что это потому, чтовесь код bash выполняется внутри кавычек: Почему я получаю "/ bin / sh: список аргументов слишком длинный" при передаче аргументов в кавычках?
Как я могу это исправить?