无法从rc.local中执行脚本

时间:2015-06-21 07:15:20

标签: bash ubuntu

在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以使其更改为相关目录,并以请求的用户身份运行命令?

2 个答案:

答案 0 :(得分:1)

--之后你给sudo的任何论据被视为命令&它的论点。

没有命名/可执行文件" cd / home / myUser / parlar&&的/ usr / local / bin中/流星&#34 ;.但是,您可以启动bash&在该bash shell中运行该命令。

e.g。

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

答案 1 :(得分:0)

要查看rc.local本身的日志,最好运行以下命令:

**systemctl restart rc-local.service**

**systemctl status rc-local.service**

也许可以帮助您更好地排除故障