PS1
e PROMPT_COMMAND
são duas variáveis diferentes com finalidades diferentes. E, como afirma o manual do Bash :
PROMPT_COMMAND
If set, the value is interpreted as a command to execute before the printing of each primary prompt (
$PS1
).
Observe que PROMPT_COMMAND
não deve ser usado como prompt, mas como um comando a ser executado antes que o prompt real seja impresso.
Para corrigir isso, e se você não quiser editar seu /etc/bashrc
, é preciso cancelar ou atribuir um valor nulo a PROMPT_COMMAND
em seu local .bashrc
:
unset PROMPT_COMMAND
# or
PROMPT_COMMAND=
Exemplo em uma sessão interativa ( foobar$
é meu prompt inicial):
foobar$ printf 'PROMPT_COMMAND: [%s]\nPS1: [%s]\n' "$PROMPT_COMMAND" "$PS1"
PROMPT_COMMAND: [printf foo]
PS1: [bar$ ]
foobar$
Desvinculando PROMPT_COMMAND
:
foobar$ unset PROMPT_COMMAND
bar$
Atribuindo um valor nulo a PROMPT_COMMAND
:
foobar$ PROMPT_COMMAND=
bar$