x:y:z:$PATHили $PATH:x:y:z?
Едва разные. $PATHсодержит :разделенный список мест, где bash (оболочка / терминал) должен проверять наличие программы.
Например, если вы набираете catспособ, которым терминал понимает, что это значит - просматривать первый, второй, третий элементы $PATH, а затем сохраните первое местоположение, которое он найдет, для последующих вызовов cat.
Если у меня есть две разные версии программы в двух разных местах, причем одна из них предпочтительна, и она $PATHуказывает оболочке выполнять поиск в неправильном порядке, то возникает проблема. Иначе проблем нет.
экспорт
Откройте терминал и введите
echo $a
a=5
echo a
echo $a
Вы увидите, что a=5установите значение переменной и $aссылаетесь на имя переменной, а не на значение.
Откройте второй терминал и введите echo $a. Это должно быть снова пустым.
Различие между exportи assignment ( =) объясняется здесь: /programming/1158091/defining-a-variable-with-or-without-export .
echo $MANPATHвернулся/usr/local/texlive/2012/texmf/doc/manко мне. Когда я добавляю пути к конфигурации, bash сообщает/usr/local/texlive/2012/texmf/doc/man:/usr/local/texlive/2012/texmf/doc/manи zsh по-прежнему сообщает/usr/local/texlive/2012/texmf/doc/man. Для zsh я добавляю пути к/etc/zsh/zshrc. Я не уверен, что это правильно. Я также попытался редактировать/etc/environment, как это было предложено здесь , но безуспешно.