У меня есть export PATH="$PATH:/opt/local/bin"
в /root/.bashrc
и /root/.profile
(больше ничего в /root/.profile
), а /bin/bash
- это оболочка входа в систему для root
в /etc/passwd
. Тем не менее, вызов sudo -i
(который согласно man sudo
запускает оболочку входа в систему и должен запускать ~/.profile
) приводит к отсутствию /opt/local/bin
в PATH
в соответствии с echo $PATH
.
РЕДАКТИРОВАТЬ: вызов bash
явно вызывает источник /root/.bashrc
.
Выходные данные sudo grep 'export PATH=' /root/.bashrc
равны
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export PATH="$PATH:/opt/local/bin" # MacPorts
/etc/sudoers
(99% уверены, что я ничего не менял):
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL