Executando verificação de segurança...
11

Deixar o “$” do bash na linha abaixo [dica linux]

Recentemente vi um terminal assim:


ngoma@lubuntu:~
$


É como o teminal do git no windows né!
Acho que essa forma é muito útil pois deixa mais espaço para comandos.

Para fazer isso é bem simples basta editar o a arquivo .bashrc.

Assim:

# abrir o arquivo
sudo nano ~/.bashrc

# cole
export PS1="\[$(tput bold)\]\[$(tput setaf 2)\]\u@\h\[$(tput setaf 7)\]:\[$(tput setaf 4)\]\W\n\[$(tput setaf 7)\]$ \[$(tput sgr0)\]"


# E já está, é só reiniciar o terminal.

Fontes:
plus.diolinux
kirsle

Carregando publicação patrocinada...
12

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 cores
    • tput bold para deixar o texto em negrito
    • tput sgr0 para "limpar as configurações anteriores": sem isso, tudo que vc digitasse no prompt ficaria em negrito (já que o bold 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}"
2
2

Outra informação interessante é que o \W exibe o diretório atual, como você escreveu. Mas eu acho mais prático ter o caminho completo do local atual, já que, pelo menos para mim, jogar o cursor para baixo é justamente útil porque os comandos não precisam competir com o espaço do caminho do diretório. Então ao invés de colocar \W é só colocar \w (w minúsculo).

0

Aparentemente a ideia do post era adicionar uma quebra de linha antes do $ então (dado o contexto) acaba que tem relação a complicação, sem ela o prompt quebra as cores:

Imgur

3
0

Opá! Muito obrigado pela dica ErrroDeMemoria, apesar de achar mais fácil fechar e abrir o terminal, visto que não precisa docorar comando nenhum, acha mais "profissional" usar este comando. Abraços

1

Olá, o seu conteúdo está muito legal e informativo, mas a imagem fornecida não aparece ... ( uma dica para melhorar o conteúdo). E adorei que você está por dentro da comunidade Diolinux

1

TallysonRuanNeves muito obrigado pelo reparo, resolvi substituir a imagem por code (tive problema com link da img para o markdown). Abraços...