Ответ 1
Прочтите раздел INVOCATION от "bash (1)" для получения полной информации (для страницы руководства для bash; используйте man bash
). Ваша первая оболочка при входе в систему является "оболочкой входа", что означает, что файл .bashrc
не найден. Второй вызов создает интерактивную оболочку, в которой .bashrc
используется источник.
Если вы всегда хотите, чтобы содержимое вашего файла .bashrc
обрабатывалось, вы можете добавить следующие строки в ваш файл .bash_profile
, создав этот файл, если он еще не существует:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
На странице своего руководства bash "[...] ищет ~/.bash_profile
, ~/.bash_login
и ~/.profile
в этом порядке, а также читает и выполняет команды из первого, который существует и доступен для чтения". Соглашения и политики вашей локальной системы будут определять, какие из этих файлов уже существуют.
Предупреждение: помните, что создание нового .bash_profile
в вашем домашнем каталоге может иметь непреднамеренный побочный эффект, препятствующий чтению и выполнению команд в файле .bash_login
или .profile
, уже присутствующем, изменяя далее поведение последующих логинов.