ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Загрузочные файлы в Bash. bashrc или .bash_profile

Как создать псевдонимы Bash

Если вы проводите много времени в командной строке, то скорее всего, вы захотите настроить среду оболочки. Это может означать создание псевдонимов, добавление нового каталога в $PATH или изменение внешнего вида командной строки.

Возможно, вы сталкивались с некоторыми статьями, в которых говорится, что вы должны поместить вашу конфигурацию либо в .bashrc, .bash_profile либо в другой файл конфигурации, который читается и выполняется оболочкой bash.

В этой статье мы расскажем о загрузочных файлов в Bash, а разнице между файлами .bashrc и .bash_profile.

 

Интерактивная оболочка для входа и отказа от входа

При вызове Bash читает и выполняет команды из набора файлов запуска. То, какие файлы читаются, зависит от того, вызывается ли оболочка как интерактивная оболочка входа или отказа от входа в систему.

Оболочка может быть интерактивной или неинтерактивной.

Проще говоря, интерактивная оболочка – это оболочка, которая читает и пишет в терминал пользователя, в то время как неинтерактивная оболочка – это оболочка, которая не связана с терминалом, как при выполнении сценария.

Интерактивная оболочка может быть либо оболочкой для входа, либо для входа в систему.

Оболочка входа в систему вызывается, когда пользователь входит в терминал удаленно через ssh или локально, или когда Bash запускается с опцией –login. Интерактивная оболочка без входа в систему вызывается из оболочки входа в систему, например, при вводе bash в командной строке или при открытии новой вкладки терминала Gnome.

 

Загрузочные файлы Bash

При вызове в качестве интерактивной оболочки входа в систему, Bash ищет файл /etc/profile и, если файл существует, запускает команды, указанные в файле. Тогда Bash ищет файлы ~/.bash_profile, ~/.bash_login и ~/.profile, в указанном порядке, и команды выполняет с первого найденного читаемого файла.

Когда Bash вызывается как интерактивная оболочка, не входящая в систему, он читает и выполняет команды ~/.bashrc, если этот файл существует и доступен для чтения.

 

Разница между .bashrc и .bash_profile

.bash_profile читается и выполняется, когда Bash вызывается как интерактивная оболочка входа в систему, тогда .bashrc выполняется для интерактивной оболочки без входа в систему.

Используйте .bash_profile для запуска команд, которые должны запускаться только один раз, например, для настройки переменной среды $PATH.

Поместите в файл .bashrc команды, которые должны запускаться при каждом запуске новой оболочки. Сюда входят ваши псевдонимы и функции, настраиваемые приглашения, настройки истории и т. д.

Как правило, ~/.bash_profile содержит такие строки, как ниже этого исходного файла .bashrc. Это означает, что каждый раз, когда вы входите в терминал, оба файла читаются и исполняются.

if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

 

Большинство дистрибутивов Linux используют ~/.profile вместо ~/.bash_profile. Файл ~/.profile читается всеми оболочками, в то время как ~/.bash_profile только Bash.

Если какой-либо файл запуска отсутствует в вашей системе, вы можете его создать.

 

Вывод

.bash_profile и .bashrc являются файлами, содержащими команды оболочки, которые запускаются при вызове Bash. .bash_profile читается и выполняется в интерактивных оболочках входа в систему, а в оболочках .bashrc без регистрации.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Exit mobile version