启动时初始化脚本中的 PATH 错误

启动时初始化脚本中的 PATH 错误

自从我的 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

相关内容