Различия между файлами.bashrc и.bash_profile

12 set 2022 2 min di lettura
Различия между файлами.bashrc и.bash_profile
Indice dei contenuti

Введение

Если вы проводите много времени в командной строке, скорее всего, вы захотите настроить среду оболочки. Это может означать создание псевдонимов, добавление нового каталога в $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 — в оболочках без входа.

Обратитесь к руководству Bash для получения дополнительной информации о файлах запуска Bash.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.