启动脚本中的错误PATH

由于Synology NAS(x86)上的系统更新,我的启动脚本有一些问题。

Bash脚本存储在/usr/local/etc/rc.d 。 脚本是肯定执行的,因为我有一个运行在根上的服务器,它的启动没有任何问题。

但是如果我将其他服务器可执行文件放在“su”命令中,以便与其他用户启动,则其他服务器可执行文件无法正常启动。

在脚本中执行的命令如下:

 su admin -c /volume1/homes/admin/subsonic/subsonic.sh 

Bash脚本运行时没有任何问题,但脚本启动java与特定的命令,那里找不到java的path

 su admin -c "screen -dmS ncdc ncdc" 

在这一行上,问题是系统找不到screen的path。 如果我没有su启动它,以便它将作为根运行,那么它的工作原理。

UPDATE

如果我用减号开始命令,那么我也会得到这样的行为:

 root@schreda-NAS:~ # su - admin -c "screen -dmS test test" -bash: screen: command not found 

path值将由/etc/profile 。 我不覆盖~/.bash_profile的path