OSX — ZSH — ПУТЬ — /usr/bin дублируется

Мне нужна помощь, чтобы понять, почему мой путь выглядит именно так.

Вывод echo $PATH в zsh возвращает:

/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/bin/:/bin:/usr/sbin:/sbin:
/usr/local/bin:/usr/X11/bin:/usr/local/go/bin:/usr/bin

Теперь давайте поближе рассмотрим различные части:

- /Library/Frameworks/Python.framework/Versions/3.2/bin:

это происходит из моего .zprofile (установка Python 3)

- /usr/bin/: 
- /bin: 
- /usr/sbin:
- /sbin:
- /usr/local/bin:

Эти части взяты из моей папки /etc/paths.

- /usr/X11/bin:

Эта часть взята из моей папки etc/path.d

- /usr/local/go/bin:

Эта часть была добавлена ​​во время установки GO.

- /usr/bin

???

Я просмотрел -/etc/paths -.zshrc -.zprofile -.profile -/etc/profile -.zshenv. Ни один из них не получил и не добавил второй /user/bin ни в PATH.

Как я могу удалить второй /user/bin из моего PATH, если я не знаю, какой файл редактировать?

Спасибо.


person politicus    schedule 24.07.2012    source источник
comment
Вы можете посмотреть, что делает ваша оболочка при запуске: zsh -x -i -c exit. Или, если вы ищете только проблемы, связанные с путем: zsh -x -i -c exit 2>&1 | grep -C 2 -i path   -  person Sebastian Stumpf    schedule 24.07.2012
comment
Привет, Себастьян, спасибо, что уделил мне время. Я новичок в zsh и сценариях оболочки, чтобы понять ваши две команды. Я проверил их.   -  person politicus    schedule 24.07.2012


Ответы (2)


В ZSH удаление дубликатов в переменной PATH выполняется с помощью typeset -U PATH, а не typeset -u PATH (последний просто преобразует содержимое в верхний регистр..)

person Clemens    schedule 10.01.2014

Хотя это не объясняет, откуда берется второй /usr/bin, вы можете поставить typeset -u PATH после последнего места, где вы что-либо добавляете к $PATH. Это удалит повторяющиеся записи.

person Mark Nichols    schedule 31.03.2013