Я пытаюсь установить PS1 как «KeepPrompt» и предотвратить его изменение при входе в подоболочку. Для этого я ввел следующее:
user@host:~$ echo $SHLVL
user@host:~$ 1
user@host:~$ export PS1="KeepPrompt: "
KeepPrompt:
KeepPrompt: echo $SHLVL
KeepPrompt: 1
KeepPrompt: bash
user@host:~$
user@host:~$ echo $SHLVL
user@host:~$ 2
Как вы видите, когда я пытаюсь создать новую подоболочку, определение PS1 не выдерживает ввода в новую оболочку. Почему это так?
Когда вы инициализируете (bash) (sub) shell , несколько файлов поставляются .
Для меня (и я думаю, что это по умолчанию в Ubuntu) PS1
будет перезаписан /etc/bash.bashrc
и ~ / .bashrc
.
Также, / etc / profile
устанавливает $ PS1
, но только когда он пуст.
Лучше всего добавить это в конце вашего .bashrc
:
PS1="KeepPrompt: "