Що таке файл .bashrc і що він робить?


21

Я не можу знайти чіткої інформації про те, що таке .bashrcфайл і що він точно робить.


Дякую за всю допомогу поки що. Здається, що цей сценарій робить все - від фарбування, завершення, псевдонімів та історії оболонки тощо. Чи є щось, що не здається корисним?


4
.bashrcє одним із багатьох файлів конфігурації bash. Дивіться офіційну документацію на файли запуску Bash .
муру

Відповіді:


21

.bashrcФайл представляє собою скрипт , який виконується всякий раз , коли новий термінал сеанс запускається в інтерактивному режимі . Це відбувається, коли ви відкриваєте нове вікно терміналу, натискаючи Ctrl+ Alt+ Tабо просто відкриваючи нову вкладку терміналу.

На противагу цьому термінальний сеанс у режимі входу запитає вас про ім’я користувача та пароль та виконає ~/.bash_profileсценарій. Це відбувається, наприклад, коли ви входите у віддалену систему через SSH.

Сам .bashrcфайл містить серію конфігурацій для термінального сеансу. Це включає налаштування або включення: фарбування, завершення, історію оболонки, псевдоніми команд тощо. .bashrcФайл поширюється з Ubuntu добре прокоментований , і ви будете в змозі зрозуміти більшу частину того, що він робить , просто прочитавши його.

Ви можете налаштувати .bashrcна свій смак. Тут ви можете отримати приклад з багатьма додатковими функціями.


Посилання розірвано.
раб

1
Посилання працює.
Luís de Sousa

На цій сторінці файл завантаження не працює.
раб

1
І посилання, і завантаження працюють добре
М. Бесерра

5

Питання щодо суперпользователя - Що таке файл .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Я думаю, що спосіб запуску призначений для того, щоб мати один файл, де налаштування виводу та підказок є нормальним, і один файл, де його немає. Традиційно для розрізнення інтерактивності проводиться тест часу, наприклад, перевірка, чи встановлено підказку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.