Если вы работаете на 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это всегда обычный файл?