Eu tenho feito experiências com o seguinte para emular o recurso de zsh
no Bash:
$ unset PROMPT_SP; for ((i = 1; i <= $COLUMNS + 52; i++ )); do PROMPT_SP+=' '; done
$ PS1='\[\e[7m%\e[m\]${PROMPT_SP: -$COLUMNS+1}5$ '
Emite um sinal de porcentagem de vídeo invertido, seguido por vários espaços para torná-lo na próxima linha, depois um retorno de carro, seguido por um sinal de dólar e um espaço. Você pode adicionar um prompt de escape após o "\ 015" para personalizar o seu prompt.
Usar isso depende de como o terminal lida com quebra de linha de margem direita (margens automáticas). O comprimento de PROMPT_SP é arbitrário, mas deve ser pelo menos 80 ou qualquer que seja sua largura de terminal usual. Pode ser necessário codificar esse valor se $ COLUMNS ainda não estiver definido quando o ciclo for
for executado em ~/.bashrc
. Você pode querer shopt -s checkwinsize
se ainda não estiver definido.