Я, может казаться, не нахожу ясной информации о какой .bashrc
файл и что он делает точно.
Спасибо за всю справку до сих пор. Кажется, что этот сценарий делает все от окраски, завершения, псевдонимов и окружает историю и т.д. Есть ли что-нибудь, что не кажется полезным?
.bashrc
файл является сценарием, который выполняется каждый раз, когда новый терминальный сеанс запускается в интерактивном режиме. Это - то, что происходит, когда Вы открываете новое окно терминала путем нажатия Ctrl+Alt+T или просто открываете новую терминальную вкладку.
В отличие от этого, терминальный сеанс в режиме входа в систему попросит у Вас имени пользователя и пароля и выполнится ~/.bash_profile
сценарий. Это - то, что происходит, например, когда Вы входите в удаленную систему через SSH.
.bashrc
сам файл содержит ряд конфигураций для терминального сеанса. Это включает установку или включение: окраска, завершение, история оболочки, управляет псевдонимами и т.д. .bashrc
файл, распределенный с Ubuntu, хорошо прокомментирован, и Вы сможете понять большую часть того, что это делает только путем чтения его.
Можно настроить .bashrc
к Вашей симпатии. Здесь можно получить пример со многими дополнительными функциями.
Вопрос на суперпользователь-Каков .bashrc файл? @pineapple и ответил @DigitalRoss
На самом деле это
bash
конкретно это читает.bashrc
(и/etc/bash.bashrc
). Существует много различных оболочек.Страница справочника удара (Brian Fox и Chet Ramey; также информационная страница "Bash Startup Files"), авторитетная ссылка:
Когда интерактивная оболочка, которая не является оболочкой входа в систему, запускается, удар читает и выполняет команды от
~/.bashrc
, если тот файл существует. Это может быть запрещено при помощи--norc
опция.--rcfile
опция файла вынудит удар считать и выполнить команды из файла вместо~/.bashrc
.Когда удар запускается нев интерактивном режиме, для выполнения сценария оболочки, например, он ищет переменную
BASH_ENV
в среде, разворачивает ее значение, если это появляется там и использует расширенное значение в качестве названия файла, чтобы читать и выполниться. Bash ведет себя, как будто следующая команда выполнялась:if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
но значение
PATH
переменная не используется для поиска имени файла.Файл является просто командами оболочки. Это обычно используется, чтобы изменить подсказки, установить переменные среды и определить процедуры оболочки. Традиционно, файл
.profile
используется с этой целью, ноbash
имеет столько расширений, что этому нужен его собственный файл запуска для пользователей, которые хотят поместить bashisms в файлы запуска."Не оболочка входа в систему" означает вещи как запуски сценария и обычно окна терминала, запущенные менеджерами окон. Иногда я настраивал *, отклоняют системы, чтобы иметь
.bashrc
иBASH_ENV
просто источник.profile
. Пока Вы не отклоняетесь за пределами команд оболочки POSIX затем, Вы получите ту же инициализацию в любой оболочке.Это особенно ценно когда
sh
действительноbash
, который иногда происходит. Сделать это использование:. .profile
Одна причина это - все настолько сложное, состоит в том, потому что иногда люди помещают вещи, которые производят вывод в файлы запуска оболочки, или они безусловно устанавливают подсказки. Это вызывает много проблем при выполнении программных оболочек и команд обратной галочки в языках, не говоря уже о
system(3)
из программ C. Путьbash
запускает разработан, я думаю, чтобы иметь один файл, где произведено, и быстрая установка в порядке и один файл, где это не. Традиционно, тест во время выполнения был бы сделан для различения интерактивности, например, проверив, чтобы видеть, установлена ли подсказка.