![永远使用“sudo bash -c”而不是“sudo”是个好主意吗?](https://linux22.com/image/940367/%E6%B0%B8%E8%BF%9C%E4%BD%BF%E7%94%A8%E2%80%9Csudo%20bash%20-c%E2%80%9D%E8%80%8C%E4%B8%8D%E6%98%AF%E2%80%9Csudo%E2%80%9D%E6%98%AF%E4%B8%AA%E5%A5%BD%E4%B8%BB%E6%84%8F%E5%90%97%EF%BC%9F.png)
首先,我们只讨论 Debian/Ubuntu 操作系统。
其次,我们谈论的是仅具有 sudo 权限的非 root 用户。
所以问题是,
有没有什么场合是不能用sudo bash -c 'command'
而只能用的sudo command
?
用它sudo bash -c
代替sudo
forever 是一个好主意吗?
答案1
如果您没有使用bash
,则bash -c
使用 运行命令bash
,并sudo command
使用您的 shell 运行命令。
如果您正在使用bash
,则bash -c
创建又一次狂欢来运行脚本,这实际上可能会导致与变量有关的问题。
尝试这个例子
S=2
echo $S
bash -c echo $S
您将获得不同的输出!