Команда env показывает один и тот же путь 3 раза

Команда env показывает один и тот же путь 3 раза

Когда я запускаю, envон отображается 3 раза /usr/binпод PATH. То же самое для каждого пути под PATHзаголовком.
Например, мой каталог bin scala отображается 3 раза.

Однако в моем .bash_profile он записан только один раз. Также его нет в .bashrc. Мне нужно сделать эти 3 вхождения 1, так как даже если я удаляю какой-то путь под PATH в .bash_profile, он все равно отображается 2 раза, что означает, что этот путь все еще задан.

echo $PATHпоказывает то же самое.

И, если это имеет значение, я использую Mac OSX.

решение1

Дублирование путей ничему не повредит.

Вероятно, где-то есть скрипт, который перезаписывает переменную пути. Попробуйте следующее, чтобы сузить место установки переменной.

Посмотрите, есть ли переменная окружения, перезаписывающая путь
выхода из системы и повторного входа в систему.

echo $PATH

Посмотрите, установлен ли тот же путь в новой оболочке

sudo su foo -  
echo $PATH

Посмотрите, задан ли путь для sudo при первом входе в систему

sudo su foo -i   
echo $PATH

Похоже, вы уже проверили свои ~/.bashrc и ~/.bash_profile Проверьте, есть ли какие-либо скрипты в /etc/profile

решение2

Хорошо..Итак, я нашел решение.
Вот что я делал:-
1) vi ~/.bash_profile
2) вносил изменения
3) source ~/.bash_profileвидел, как эти изменения действуют.

Кажется, для каждого редактирования и последующей команды источника временно сохраняется текущий сеанс.
Так что, если я вносил изменения 3 раза и последующую sourceкоманду, он показывает 3 раза один и тот же путь, если я делаю echo $PATHили env. Закрытие терминала и его перезапуск возвращают все в нормальное состояние.

Так что, это был просто вопрос перезапуска терминала!!

Пояснение:- Разные платформы могут работать по-разному. Я обнаружил, что macosx-10.7 работает таким образом.

Связанный контент