bash - 无法从 rc.local 中执行脚本

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

最佳答案

-- 之后你给 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/

相关文章:

bash - 如何获取某个字符后面的子字符串,如果该字符不存在则返回空

linux - ssh 无法与 sudo 一起正常工作

Bash 使用 GNU parallel 发送多个 curl 请求

ubuntu - ubuntu 12.04 上的 Docker 守护进程启动错误

node.js - 我如何优化在不同操作系统上运行的网页抓取脚本

docker - 为什么我们需要在 Dockerfile 中有一个 Alpine 或 Ubuntu 基础镜像?

python - 在 bash 中使用 NULL 字节(缓冲区溢出)

bash - 即使变量未设置、为空或仅包含空格和制表符,[[ $var -eq 0 ]] 也会返回 true

python - 在ubuntu VPS上后台运行python脚本并保存日志的方法

android - 解析 UI 层次结构 XML 文件时出现 Ubuntu uiautomatorviewer 错误