ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Загрузочные файлы в 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