Есть совершенно простой скрипт на lua, в котором периодически вызывается функция, содержащая print().
Если я запускаю скрипт как
/usr/bin/lua5.1 /home/mqtt/client.lua
, все нормально — то, что выдает print(), выводится в консоль.
Если я пишу обертку на sh вида
cd /home/mqtt
/usr/bin/lua5.1 /home/mqtt/client.lua 2>&1
и запускаю ее как ./fmp_client.sh, тоже все нормально.
Но стоит написать что-то вроде
cd /home/mqtt
/usr/bin/lua5.1 /home/mqtt/client.lua >> /home/mqtt/log/client.log 2>&1
или даже просто
cd /home/mqtt
/usr/bin/lua5.1 /home/mqtt/client.lua >> /home/mqtt/log/client.log
Как ничего не происходит — файл появляется, но в него ничего не попадает. Программы-супервизоры, через которые запускается ./fmp_client.sh(типа "pm2 start fmp_client.sh") делают тоже самое — файл запускают, но в логи ничего не пишут.
Обычные программы прекрасно с помощью такой конструкции(да и без нее, супервизоры сами по себе пишут логи из stdout) работают. Мой скрипт на lua — нет.
Заменя print() на io.write() не помогает.
Внимание, вопрос. Где я что не понимаю?