Почему команда экспорта не работает на PS1 [дубликат]

Я пытаюсь установить 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 не выдерживает ввода в новую оболочку. Почему это так?

0
задан 14 July 2020 в 16:43

1 ответ

Когда вы инициализируете (bash) (sub) shell , несколько файлов поставляются .

Для меня (и я думаю, что это по умолчанию в Ubuntu) PS1 будет перезаписан /etc/bash.bashrc и ~ / .bashrc .

Также, / etc / profile устанавливает $ PS1 , но только когда он пуст.


Лучше всего добавить это в конце вашего .bashrc :

PS1="KeepPrompt: "
4
ответ дан 30 July 2020 в 22:08

Другие вопросы по тегам:

Похожие вопросы: