Когда я запускаю, 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 работает таким образом.