在 rc.local 我有
sudo -H -u myUser -s -- "cd /home/myUser/parlar && /usr/local/bin/meteor &"
我想测试它但是当我执行它时
myUser:~$ sudo service rc.local start
/bin/bash: cd /home/myUser/parlar && /usr/local/bin/meteor &: No such file or directory
如果我执行命令
cd /home/myUser/parlar && /usr/local/bin/meteor &
有用
如何执行 rc.local 以使其更改为相关目录,并以请求的用户身份运行命令?
最佳答案
在 --
之后你给 sudo 的任何参数被视为命令及其参数。
没有名为“cd/home/myUser/parlar &&/usr/local/bin/meteor”的命令/可执行文件。但是,您可以在该 bash shell 中启动 bash 并运行该命令。
例如
sudo -H -u myUser -s -- bash -c "cd /home/myUser/parlar && /usr/local/bin/meteor &"
由于第一个命令是
cd
,这种替代方法也可能有效:sudo -H -u myUser -s -i PWD=/home/myUser/parlar -- /usr/local/bin/meteor
关于bash - 无法从 rc.local 中执行脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30962176/