Só pra constar, a parte importante relativa ao título ("Deixar o $
do bash na linha abaixo") é somente o \n
:
export PS1="\[$(tput bold)\]\[$(tput setaf 2)\]\u@\h\[$(tput setaf 7)\]:\[$(tput setaf 4)\]\W\n\[$(tput setaf 7)\]$ \[$(tput sgr0)\]"
^^
aqui
Pois o \n
corresponde à quebra de linha, ou seja, é ele que faz com que a linha seja pulada. E depois dele temos \[$(tput setaf 7)\]
, que basicamente seta a cor dos caracteres para branco (veja a lista completa de códigos de cores aqui). E logo em seguida temos o próprio caractere $
.
Enfim, se o objetivo é deixar o $
na linha de baixo, bastaria adicionar \n$
no final. Todo o resto não tem relação nenhuma com a quebra de linha:
- Os comandos
tput
são relativos à mudança no texto:tput setaf
para mudar as corestput bold
para deixar o texto em negritotput sgr0
para "limpar as configurações anteriores": sem isso, tudo que vc digitasse no prompt ficaria em negrito (já que obold
ainda estaria ativo) e com a última cor que foi setada
- as sequências de escape
\u
,\h
e\W
são respectivamente o usuário, hostname e diretório atual (existem mais sequências disponíveis, veja aqui).
E como sugestão, daria para deixar um pouco menos confuso se vc fizer algo do tipo no seu .bashrc
:
PS_GREEN=$(tput setaf 2)
PS_BLUE=$(tput setaf 4)
PS_WHITE=$(tput setaf 7)
PS_RESET=$(tput sgr0)
PS_BOLD=$(tput bold)
export PS1="${PS_BOLD}${PS_GREEN}\u@\h${PS_WHITE}:${PS_BLUE}\W\n${PS_WHITE}$ ${PS_RESET}"