Можливий дублікат:
різниця між .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:(