Як додати каталог до PATH?

Як додати каталог в $PATH в Ubuntu і зробити зміни постійними?

Рішення

Використання ~/.profile для встановлення $PATH

Шлях, заданий у файлі .bash_profile, буде задано тільки в командній оболонці bash (bash -l). Якщо ви вкажете шлях у файлі .profile, він буде доступний для всього сеансу роботи на робочому столі. Це означає, що навіть metacity буде використовувати його.

Наприклад, ~/.profile:

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi

До речі, ви можете перевірити змінну PATH процесу, подивившись його оточення в /proc/[pid]/environ (замініть [pid] на число з ps axf). Наприклад, використовуйте grep -z "^PATH" /proc/[pid]/environ.

Примітка:

bash як оболонка для входу в систему не розбирає .profile, якщо існує або .bash_profile, або .bash_login. Від man bash:

шукає ~/.bash_profile, ~/.bash_login і ~/.profile в такому порядку порядку, і читає і виконує команди з першого, який існує і є доступним для читання.

Дивіться відповіді нижче для отримання інформації про .pam_environment, або .bashrc для інтерактивних оболонок без входу в систему, або встановіть значення глобально для всіх користувачів, помістивши скрипт в /etc/profile.d/ або використовуйте /etc/X11/Xsession.d/ для впливу на сеанс менеджерів дисплея.

Коментарі (11)

Відредагуйте файл .bashrc у вашому домашньому каталозі та додайте наступний рядок:

export PATH="/path/to/dir:$PATH"

Щоб зміни набули чинності, вам потрібно буде отримати джерело вашого .bashrc або вийти/ввійти в систему (або перезапустити термінал). Щоб вказати джерело вашого .bashrc, просто введіть

$ source ~/.bashrc
Коментарі (8)

Додавання його в .bashrc буде працювати, але я думаю, що більш традиційним способом налаштування змінних шляху є .bash_profile, додавши наступні рядки.

PATH=$PATH:/my/path/foo
export PATH

Відповідно до цієї теми здається, що поведінка Ubuntu дещо відрізняється від поведінки RedHat і клонів.

Коментарі (5)