4

Когда вы входите в оболочку в системе Unix, обычно есть несколько файлов, которые запускаются в вашем домашнем каталоге. Вы будете использовать их, например, для установки псевдонимов и дополнений в вашем $PATH .

Но как я точно знаю, что это за файл? Как мне точно определить, какой файл мне нужно отредактировать (или добавить)?

Мне нужен общий способ, которым я могу пользоваться в любой системе Unix. Скажем, все, с чего вам нужно начать, это IP-адрес / имя хоста, а также имя пользователя и пароль для входа в SSH. Вы подключаетесь и авторизуетесь. Теперь, что ты делаешь?

1 ответ1

8

Профиль обычно запускается при каждом входе в систему. Общесистемным файлом входа является /etc/profile а пользовательскими файлами обычно являются ~/.profile . Некоторые оболочки имеют свой собственный профиль и rc-файлы, например, bash имеет .bashrc который запускается оболочкой bash без входа в систему, и .bash_profile который запускается оболочкой bash входа в систему. Общесистемный bashrc - это /etc/bash.bashrc

Таким образом, вы должны использовать .profile для вещей, которые должны запускаться оболочками входа в систему, и .bashrc (или эквивалент) для вещей, которые должны запускаться оболочками, не входящими в систему (псевдонимы, настройка env и т. П.)


разъяснение Баш:

Существует два вида оболочек: оболочка для входа в систему и не для входа в систему. Оболочка входа - это оболочка, запускаемая при входе пользователя в систему. Оболочки без входа в систему - это все остальные оболочки. Например, когда вы входите в систему через ssh или на консоли, вы получаете оболочку входа в систему.

при запуске запускаются оболочки входа в bash:

  • /etc/profile
  • Первый существующий файл из следующих: ~/.bash_profile , ~/.bash_login , ~/.profile

Интерактивные оболочки bash без входа в систему запускаются при запуске:

  • /etc/bash.bashrc
  • ~/.bashrc

В некоторых (большинство?) unix, которые поставляются с bash, источником профилей ~/.bashrc , поэтому ~/.bashrc запускается как для входа в систему, так и для входа в систему без интерактивных оболочек.

Если файл не существует, он пропускается.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .