Acho que a nova linha deve funcionar lá, pois o escape \n
está listado explicitamente como um dos escores de prompt. Deve ser fácil para o shell interpretar, também, ele só precisa redefinir o tamanho do prompt para zero ao saltar para a próxima linha.
Até onde eu testei, parecia que o \[\[
e \]\]
duplicados no final causavam problemas.
Aqui, você tem um conjunto de \[ \]
em torno de toda a parte final e, em seguida, dois conjuntos iguais dentro dessa parte.
\[\[3[5m\]${TEAL}>>\[3[0m\]\]
^^^^^^^^^^^ ^^^^^^^^^^^
Você provavelmente deve remover os externos:
\[3[5m\]${TEAL}>>\[3[0m\]
Os códigos de cores são bons, pois você está usando aspas duplas ao definir PS1
, para que as variáveis de cor sejam expandidas na atribuição e o \[ \]
escapa dentro delas.
Se o prompt de duas linhas realmente não funcionar, você poderá sempre imprimir a primeira linha em PROMPT_COMMAND
.
Algo como PROMPT_COMMAND='printf "${RESET}/${LGREEN}$USER@${GREEN}$(date +%T)${DGREEN} $PWD ${RESET}\n"'
deve funcionar, mas, nesse caso, você precisa ter as variáveis de cor sem o \[ \]
.