有人想对 与的sudo bash
比较发表评论吗?sudo su
sudo -i
我知道sudo -i
是因为“环境”而首选。
我几年前就养成了一个坏习惯,当时我还是个孩子,喜欢在地下室里使用sudo bash
。
我知道这有点笨拙和尴尬,但它确实有效。
我正在寻找一个精确且令人信服的论据来让我的大脑摆脱这种习惯。
请告诉我为什么我的方法是垃圾?我需要干预。
答案1
我认为这样做没有sudo bash
错,只是不太方便。首先,它比 多了 2 个字符sudo -i
。当sudo bash
你bash
以另一个用户身份启动时(尝试执行此操作并pwd
查看当前目录是什么),而 sudo -i
“在运行 shell 之前尝试更改为该用户的主目录”。sudo -i
尝试为您提供“类似于用户登录时收到的环境”。此外,sudo -i
将读取“登录特定的资源文件,例如 .profile 或 .login”。最后,sudo -i
将遵守用户在 中设置的 shell /etc/passwd
。
在单用户系统上,这些可能不太重要,但除非你绝不期望在您自己的系统之外的系统上工作,您最好训练自己按照推荐的方式做事。
sudo su
也可能不是完全错误的(并且不比 长sudo -i
),但这个选项显然很丑陋,看起来真的很笨拙;如果你可以sudo
,为什么sudo su
,而不是sudo
设置一个合适的 shell?此外,sudo su
不会正确设置用户的登录环境,你需sudo su -
要这样做,此时你再次输入比 更多的字符sudo -i
。