永远使用“sudo bash -c”而不是“sudo”是个好主意吗?

永远使用“sudo bash -c”而不是“sudo”是个好主意吗?

首先,我们只讨论 Debian/Ubuntu 操作系统。

其次,我们谈论的是仅具有 sudo 权限的非 root 用户。



所以问题是,

有没有什么场合是不能用sudo bash -c 'command'而只能用的sudo command

用它sudo bash -c代替sudoforever 是一个好主意吗?

答案1

如果您没有使用bash,则bash -c使用 运行命令bash,并sudo command使用您的 shell 运行命令。

如果您正在使用bash,则bash -c创建又一次狂欢来运行脚本,这实际上可能会导致与变量有关的问题。

尝试这个例子

S=2
echo $S
bash -c echo $S

您将获得不同的输出!

相关内容