Если вы работаете на Mac и удивляетесь, почему /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
при запуске tmux все время добавляется к PATH, это из-за утилиты path_helper, которая запускается из вашего /etc/profile
файла.
Вы не можете легко убедить tmux (точнее, bash) не исходить /etc/profile
(по какой-то причине tmux всегда запускается как оболочка входа в систему, что означает, что / etc / profile будет читаться), но вы можете убедиться, что эффекты path_helper don винт с вашей PATH.
Хитрость заключается в том, чтобы убедиться, что PATH пуст перед запуском path_helper. В моем ~/.bash_profile
файле у меня есть это:
if [ -f /etc/profile ]; then
PATH=""
source /etc/profile
fi
Очистка PATH перед выполнением path_helper предотвратит добавление значения PATH по умолчанию к выбранному (ранее) выбранному PATH и позволит остальным вашим сценариям настройки bash (командам, расположенным ниже .bash_profile
или в том .bashrc
случае, если вы их получили .bash_profile
) настроить свои ПУТЬ соответственно.
Надеюсь, что это имеет смысл ...
if [ -n "$TMUX" ]
пунктом, но мне было интересно - насколько это важно на[ -f /etc/profile ]
самом деле? Разве не безопасно предположить, что/etc/profile
это всегда обычный файл?