Можливий дублікат:
різниця між .bashrc та .bash_profile
Яка різниця між .profile
і .bash_profile
, і коли ви налаштовуєте який?
Тобто якщо я конфігурую .bash_profile
, чи потрібно все-таки налаштувати .profile
?
Можливий дублікат:
різниця між .bashrc та .bash_profile
Яка різниця між .profile
і .bash_profile
, і коли ви налаштовуєте який?
Тобто якщо я конфігурую .bash_profile
, чи потрібно все-таки налаштувати .profile
?
Відповіді:
Припустимо, що bash
це ваша оболонка за замовчуванням, відмінності описані на bash
сторінці man ( man bash
):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
Більш детальна інформація на сторінці man, яка охоплює режим сумісності оболонок POSIX, звідки і .profile
походить. Прочитайте весь розділ сторінки чоловіка, щоб отримати детальну інформацію.
Якщо ви налаштуєте .bash_profile
, вам також не потрібно буде налаштовувати .profile
.
Мені подобається зберігати власні псевдоніми та команди, .profile
щоб, якщо я щось зіпсував , я знаю, що завжди можу видалити, .profile
не впливаючи на систему у великих .bash_profile
масштабах чи інших програмах, які змінюють (наприклад, MacPorts).
Щоб використовувати a .profile
, вам може знадобитися включити рядок source ~/.profile
у свій файл, .bash_profile
щоб .profile
файл був прочитаний (див. Відповідь Неда Ділі).
.profile виконується bash, коли ви отримуєте звичайний процес оболонки - наприклад, ви відкриваєте інструмент терміналу. .bash_profile виконується bash для оболонок входу - так це, наприклад, якщо ви віддалено telnet / ssh у свою машину. Наприклад, якщо ви віддалено ssh в машину (скажімо, ви відкрили X-термінал), ви спочатку виконаєте .bash_profile. Якщо в цьому XTerminal ви введете "xterm" і породили ще один X-термінал, тоді .profile буде виконаний для другого примірника XTerminal. Файли знаходяться у вашому домашньому каталозі (~). Якщо я не помиляюся за замовчуванням, вони обидва виконують ~ / .bashrc, щоб ви могли відредагувати це для налаштування загальних параметрів / змінних для оболонок для входу та не входу (наприклад, встановлення PATH, деяких псевдонімів / ярликів тощо).
.profile
?
для швидкої та простої конфігурації (де не потрібно ускладнювати речі) просто налаштуйте все у вашому ~ / .profile. Тільки коли у вас виникнуть проблеми (але, мабуть, ніколи), дізнайтеся більше про .bash_login або .bash_profile;)
Я теж на OS X і мені ніколи не потрібен .bash_profile або .bash_login і використовую лише .profile, але ваш пробіг може відрізнятися ...
.profile
тільки.bashrc
:(