首先,我们只讨论 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
您将获得不同的输出!