В .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робота з цим, тому що в ньому можуть бути специфічні для системи речі, необхідні вашій установці.