~/.bashrc
і /etc/bash.bashrc
запускаються щоразу, коли інтерактивна bash
оболонка запускається.
На відміну від цього , ~/.profile
і /etc/profile
виконуються кожен раз , коли який - або Ввійти при запуску оболонки. Отже, вона не повинна бути bash
оболонкою, але вона повинна бути оболонкою для входу (і багато bash
випадків оболонки не є оболонками для входу ).
bash
Оболонка являє собою оболонку , де оболонка програми , яка забезпечує це bash
, а не якийсь - якої іншої програми, наприклад dash
.
- Оболонка для входу - це оболонка, яка автоматично запускається внаслідок входу в систему, щоб забезпечити користувальницький інтерфейс (графічний або командний рядок) для входу. Після виходу із оболонки входу вхід припиняється.
Тому, поставивши віддаю , що приєднує записи в PATH
в bashrc
файлі буде:
Не робіть нічого, коли шкаралупи немає bash
, що часто буває. Наприклад, PATH
буде немодифіковано, коли ви перебуваєте у графічному сеансі входу. Пам'ятайте, PATH
це не просто використовується програмами командного рядка.
Додайте її знову і знову за наявності вкладених bash
оболонок. Отже, якщо ви запускаєте оболонку всередині оболонки - це дуже часто з різних причин - тоді у вас буде кілька ~/bin
записів, розміщених на вашому PATH
. Це робить PATH
змінну середовища важкою для читання, а іноді також знижує продуктивність.
Це було б небажано. Таким чином, було б неправильно ставити це у bashrc
файл; воно справді належить в ~/.profile
. ~/.profile
є правильним місцем для:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Оболонки без входу мають оболонки для входу (або щось таке, що поводиться як оболонка входу) як свого батьківського, і успадковують більшість змінних середовища, включаючи PATH
цю оболонку входу. Тому для введення команд, що змінюють шлях, ~/.profile
потрібно, щоб вийшли з системи та поверталися назад, щоб вони були ефективними, але це впливає і на середовище оболонок без входу (а також на середовище для програм, які не є оболонками, оскільки кожна програма отримує свої власний набір змінних середовища - його "середовище" - успадкований від його батьківського процесу).