我已经PATH=foo
设置了/etc/profile
根据/etc/password
和root
用户myaccount
已/bin/bash
作为登录shell。
当我登录时myaccount
,PATH
已从 正确设置/etc/profile
。如果我的话sudo su
,PATH
不包括设置的值/etc/profile
。
如果我sudo su -
改为/etc/profile
就是来源。我知道无论如何这样做都是很好的做法但我不明白为什么有必要为了获取/etc/profile
.
为什么sudo su
clobber PATH
,忽略/etc/profile
以及我如何使它不?
答案1
sudo su
是一种应该被诅咒到天涯海角的可憎之物。
解决了这个问题后,您会问自己应该做什么。
# sudo asks for *your* password and must be configured via /etc/sudoers
sudo -s # Shell for superuser
sudo -i # Login shell for superuser
sudo -u jimmy -s # Shell for user "jimmy"
sudo -u jimmy -i # Login shell for user "jimmy"
# su asks for the root password and usually requires no configuration
su # Shell for superuser
su - # Login shell for superuser
su jimmy # Shell for "jimmy"
su - jimmy # Login shell for "jimmy"
只能登录 shell 源/etc/profile
。