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