Shell
su vs su - (在 Debian 上):為什麼 PATH 是一樣的?
su
我知道和之間應該有什麼區別su -
,但是在我的系統(Debian)例如PATH
是相同的:[root]# su [root]# echo $PATH /user_path/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [root]# exit [root]$ su - [root@debian ~]# echo $PATH /user_path/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
所以我開始認為可以在配置文件中更改設置。
對於配置
su
PATH
,請查看/etc/login.defs
:ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
還有一些其他地方
PATH
可以更改,包括:
/etc/environment
/etc/bash.bashrc
/etc/profile
/etc/profile.d/*
~/.bashrc
~/.bash_profile
在每個使用者設置中沒有任何特別之處,
su
似乎是PATH
從./etc/environment``su -``/etc/login.defs
ENV_SUPATH
所以在你的系統上,我的猜測是你在 中 有相同的
PATH
值,或者你/etc/login.defs
在, 中/etc/environment
有一些額外的配置/etc/profile.d
,/etc/bash.bashrc
或者在/home/someuser
.