В .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 не так часто используется, и некоторые люди даже не знают, что есть какая-то другая оболочка, похожая на Bourne, кроме bash. Даже когда (ограниченный) синтаксис Bourne используется для большей кроссплатформенной совместимости, он часто запускается dash
или bash в режиме совместимости с POSIX. Действительно, фактический источник оболочки Bourne, вероятно, является компонентом авторского права Unix System V, который, похоже, является собственностью Novell, но я понятия не имею, что они делают с ним, если вообще что-то делают.
Для начинающего пользователя, использование либо $HOME/.profile
или , $HOME/.bash_profile
но не так , и вы будете в порядке. Поскольку у вас уже есть .bash_profile
работа с этим, потому что он может иметь специфические для системы вещи, которые нужны вашей установке.