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
, как это было предложено здесь , но безуспешно.