Как изменить приглашение bash?

Я хотел бы изменить свой bash приглашение при входе в систему. Но даже после того, как я переоденусь .bashrc и повторно войти, он по-прежнему запрашивает старый. Что случилось, пожалуйста?

Я хочу сделать [u@h W]$
но я получаю s-v$ по некоторым причинам, и я не знаю, где он был настроен.

эта учетная запись не корень, однако у меня есть права root, если это необходимо

Это то, что я получаю:

-bash-3.2$ cat .bashrc
PS1='[u@h W]$'
-bash-3.2$ echo $PS1
s-v$
-bash-3.2$
17
задан user1762109
30.11.2022 17:38 Количество просмотров материала 3678
Распечатать страницу

1 ответ

скорее всего, ваша оболочка является интерактивной оболочкой входа в систему, поэтому она не читает ~/.bashrc но ~/.bash_profile вместо:

   When  bash is invoked as an interactive login shell, or as a non-inter‐
   active shell with the --login option, it first reads and executes  com‐
   mands  from  the file /etc/profile, if that file exists.  After reading
   that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile,
   in  that order, and reads and executes commands from the first one that
   exists and is readable.  The --noprofile option may be  used  when  the
   shell is started to inhibit this behavior.

быстрый и грязный исправить можно просто симлинк ~/.bashrc до ~/.bash_profile или наоборот. Это возможно ломает что-то с неинтерактивными оболочками, например, команды удаленно запускаются через SSH, поэтому подумайте дважды.

см. раздел "вызов" в man bash для более подробной информации.

1
отвечен Sami Laine 2022-12-02 01:26

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх