В .profile
сходить до оригінальної оболонці Борна , відомої як sh
. Оскільки оболонка GNU bash
є (залежно від її можливостей) надмножиною оболонки Bourne, обидві оболонки можуть використовувати один і той же файл запуску. Тобто за умови, що sh
вводяться лише команди.profile
Наприклад, alias
це дійсна вбудована команда, bash
але невідома sh
. Тому, якби у вас був лише .profile
домашній каталог і виклали alias
в нього заяву, sh
скаржилися б. Отже, існує специфічний файл bash, який має команди ініціалізації оболонок, які bash будуть читатись тоді і лише тоді, коли .profile
файлу немає.
Насправді це трохи спрощено в деяких установках, і я не знайомий з Fedora. Під bash /etc/profile
читається оболонка перед будь-якими файлами у вашому домашньому каталозі. Якщо існує сценарій ініціалізації, який є загальносистемним, він часто говорить щось подібне
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
Чому саме так? Спроба сумісності протягом десятиліть оболонок діалектів. Чому підручник написаний саме так? Оболонку Борна вже не дуже часто використовують, і деякі люди навіть не знають, що існує інша оболонка, що нагадує Борну, ніж баш. Навіть коли синтаксис Bourne (обмежений) використовується для більшої сумісності між платформами, його часто запускають dash
або б'ють в режимі сумісності POSIX. Дійсно, власне джерело оболонки Bourne, ймовірно, є компонентом авторських прав Unix System V, який, як видається, є власністю Novell зараз, але я не маю уявлення, що, якщо що, вони роблять з цим.
Для початківців, використання або $HOME/.profile
чи , $HOME/.bash_profile
але не так , і ви будете в порядку. Оскільки у вас вже є .bash_profile
робота з цим, тому що в ньому можуть бути специфічні для системи речі, необхідні вашій установці.