В моем понимании bashrc запускается каждый раз, когда открывается новая оболочка. Чтобы проверить это, я добавил echo 'hello' в bashrc .

Тем не менее, когда я открываю новую оболочку, к сожалению, нет доброго приветствия.

Я работаю на Ubuntu 12.04

дополнительная информация:

Я прочитал, что все клиенты оболочки должны быть закрыты перед обновлением bashrc . Я перечислил их, используя ps aux | awk '{print $7}' | grep -v "?" который вернулся

TTY
tty4
tty5
tty2
tty3
tty6
tty1
pts/0
pts/0
pts/0
pts/0
pts/0

Я не понимаю этот вывод. Нужно ли закрыть все это для обновления bashrc ?

1 ответ1

0

.bashrc запускается любой запущенной интерактивной оболочкой bash (новое окно терминала, bash используется в другом приглашении bash ...). Таким образом, это в основном исключает вызовы bash -c <command> , bash <somescript> и интерпретатор bash, который неявно начал запускать файлы bash.

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

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