O Bash carrega a entrada do banco de dados terminfo somente quando é iniciado (como a maioria dos programas) ou quando você altera a variável TERM . Alterar a variável TERMINFO não tem efeito imediato: ela é usada apenas quando a entrada terminfo é carregada, não aciona um recarregamento.
Quando você executa exec bash , isso inicia uma nova instância do bash que carrega a entrada do terminal com base nos valores atuais de TERM e TERMINFO .
Você pode recarregar o banco de dados terminfo atribuindo a TERM . Bash otimiza TERM=$TERM , não recarrega os dados, então você precisa passar por um valor intermediário.
TERMINFO=…
# Reload the terminfo entry to take the new value of $TERMINFO into account
old_TERM=$TERM; TERM=dumb; TERM=$old_TERM; unset old_TERM