Відповіді:
.bashrc
Файл представляє собою скрипт , який виконується всякий раз , коли новий термінал сеанс запускається в інтерактивному режимі . Це відбувається, коли ви відкриваєте нове вікно терміналу, натискаючи Ctrl+ Alt+ Tабо просто відкриваючи нову вкладку терміналу.
На противагу цьому термінальний сеанс у режимі входу запитає вас про ім’я користувача та пароль та виконає ~/.bash_profile
сценарій. Це відбувається, наприклад, коли ви входите у віддалену систему через SSH.
Сам .bashrc
файл містить серію конфігурацій для термінального сеансу. Це включає налаштування або включення: фарбування, завершення, історію оболонки, псевдоніми команд тощо. .bashrc
Файл поширюється з Ubuntu добре прокоментований , і ви будете в змозі зрозуміти більшу частину того, що він робить , просто прочитавши його.
Ви можете налаштувати .bashrc
на свій смак. Тут ви можете отримати приклад з багатьма додатковими функціями.
Питання щодо суперпользователя - Що таке файл .bashrc? автор @pineapple і відповів @DigitalRoss
Власне, саме і
bash
читається.bashrc
(і/etc/bash.bashrc
). Є безліч різних оболонок.Сторінка " bash man" (Брайан Фокс та Чет Рамі; також інформаційна сторінка "Файли запуску Bash" ) є авторитетною посиланням:
Коли запускається інтерактивна оболонка, яка не є оболонкою для входу, bash зчитує та виконує команди
~/.bashrc
, якщо цей файл існує. Це може бути пригнічено за допомогою--norc
параметра. Параметр--rcfile
файлу змусить 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)
програми C.bash
Я думаю, що спосіб запуску призначений для того, щоб мати один файл, де налаштування виводу та підказок є нормальним, і один файл, де його немає. Традиційно для розрізнення інтерактивності проводиться тест часу, наприклад, перевірка, чи встановлено підказку.
.bashrc
є одним із багатьох файлів конфігурації bash. Дивіться офіційну документацію на файли запуску Bash .