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, як тут запропоновано , хоча і без успіху.