Изменения PS1 в bash.bashrc не отражаются в командной строке терминала

Изменения PS1 в bash.bashrc не отражаются в командной строке терминала

Я хочу, чтобы приглашение всех пользователей выводило дату и время, и в файле /etc/bash.bashrcя задаю:

PS1='\D{%Y%m%d}-\t~\u@\h \$ '

Я перезагружаю систему и, открыв терминал, вижу, что приглашение не изменилось.

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

решение1

В моей системе PS1 снова перезаписывается скриптом bashrc в домашней папке, в ~/.bashrc. Попробуйте добавить его в этот файл. Кстати, порядок, в котором оцениваются эти и другие файлы init, описан на странице руководства в разделах FILESи INVOCATION.

Редактировать: вы можете отладить процесс запуска bash, чтобы проверить правильность моего диагноза, запустив bash -x.

Чтобы решить проблему показа всем пользователям, вы можете редактировать только пользовательскую конфигурацию в скелетной директории /etc/skel/.bashrc, тогда ваши изменения PS1будут доступны вновь созданным пользователям. Это не повлияет на уже созданных пользователей, у которых есть PS1-overwriting .bashrc. Для них вам придется редактировать (или, возможно, попросить этих пользователей редактировать) пользовательские конфигурации в ~user/.bashrc., добавляя свои изменения или удаляя команду PS1-overwriting.

Связанный контент