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
і призначенням ( =
) пояснюється тут: /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
, як тут запропоновано , хоча і без успіху.