我意识到:
sudo -i
env
不同于:
sudo -i
sudo env
它们都是sudo,为什么它们不同?
就我而言,我意识到 PATH 非常不同,所以有时事情不能用“sudo blah”运行,但是当我第一次登录 sudo 然后运行命令时它可以工作。(就像我的其他问题#4976658 一样)
我意识到:
sudo -i
env
不同于:
sudo -i
sudo env
它们都是sudo,为什么它们不同?
就我而言,我意识到 PATH 非常不同,所以有时事情不能用“sudo blah”运行,但是当我第一次登录 sudo 然后运行命令时它可以工作。(就像我的其他问题#4976658 一样)
存在预期差异,例如SUDO_USER
、SUDO_UID
和SUDO_GID
。
然后是PATH
。
当你跑
sudo -i
env
你应该期待 root's PATH
,但是当你运行
sudo -i
sudo env
你应该期待一个默认的PATH
.
我想你会发现这是由于 Ubuntu 和 Fedora 都采用的“安全路径”选项。
我同意这很烦人。关于此行为还有许多其他线程。:-/
例如,查看这个 stackoverflow 线程: sudo changes PATH - 为什么?