После обновления системы на моем Synology NAS (x86) у меня возникли проблемы со сценариями запуска.
Скрипты Bash хранятся в /usr/local/etc/rc.d
. Скрипты точно были выполнены, потому что у меня есть сервер, работающий под root, и он запускается без проблем.
Но другие исполняемые файлы моего сервера не запускаются должным образом, если я помещаю их в команду «su», чтобы запустить его с другим пользователем.
Команды, которые выполняются в сценариях, следующие:
su admin -c /volume1/homes/admin/subsonic/subsonic.sh
Скрипт Bash работает без проблем, но скрипт запускает java с определенными командами и не может найти путь к java.
su admin -c "screen -dmS ncdc ncdc"
В этой строке проблема в том, что система не может найти screen
путь. Если я начну без su
так что он будет работать как root, тогда он работает.
ОБНОВИТЬ
Если я начинаю команду с минуса, я также получаю такое поведение:
root@schreda-NAS:~ # su - admin -c "screen -dmS test test"
-bash: screen: command not found
Значение пути будет установлено /etc/profile
. Я не отменяю путь ~/.bash_profile