Яндекс.Практикум

Файлы конфигурации bash

Командная оболочка bash использует несколько файлов инициализации рабочего окружения. К ним относится файл profile в папке /etc, а также .bash_profile и .bashrc в домашней директории пользователя. Можно сказать, что представляют они собой обычные shell-скрипты, которые bash читает при запуске. Кроме того, некоторые дистрибутивы создают файл /etc/bashrc, а затем включают его директивой source (будет рассмотрено ниже).

Можно выделить два типа случаев, когда файлы конфигурации bash используются:

  1. Если вход пользователя в linux был совершен с помощью программы /bin/login, то сначала читается и выполняется содержимое файла /etc/profile. Если же в домашней папке пользователя есть файл ~/.bash_profile, то затем то же самое происходит и с ним.
  2. Немного по-другому происходит в ситуации, когда командная оболочка запускается без непосредственного логина (через графический эмулятор терминала или с помощью команды /bin/su). Сначала сохраняются переменные окружения запущенной оболочки, а затем обрабатывается файл ~/.bashrc.

Пример

Для простоты предположим, что создали файл ~/.bashrc для всех пользователей следующего содержания:
source /etc/profileКоманда source включает все строки из /etc/profile в ~/.bashrc.

Теперь не важно, как именно происходит вход в систему (через логин или запустив xterm), настройки рабочего окружения для всех пользователей будут взяты из одного места. Это удобно. Теперь создаём файл /etc/profile, у меня (учитывая мою раскраску строки приглашения консоли) он получился вот такой:
#устанавливаем локаль export LC_ALL=ru_RU.utf8 #папки с бинарниками export PATH=/bin:/usr/bin:/sbin:/usr/sbin #приглашение консоли export PS1='[e[1;31m]u[e[0;32m]:[e[0;35m]w[e[0;32m]$ [e[0;37m]' #синонимы для цветного вывода команд ls и grep alias ls="ls --color=auto" alias grep="grep --color=auto"

Эти настройки будут по-умолчанию для всех пользователей, запустившими bash. Как через /bin/login, так и с помощью графического эмулятора терминала (xterm, urxvt).

Понравилась статья? Поделиться с друзьями:
IPCalc Blog