Inserir linha vazia entre prompts de linha de comando

8

Ao usar a linha de comando, muitas vezes fica muito confuso. Tornar inconveniente examinar os comandos anteriores e suas saídas, por exemplo.

Eu gostaria de ter uma nova linha adicionada toda vez antes que o prompt de comando seja exibido. Assim:

<clutter>
<blank line>
name@machine:~$

Eu uso o shell bash. Como isso pode ser alcançado?

    
por Slothworks 11.08.2015 / 08:49

3 respostas

21

Uma maneira de conseguir isso é modificando o arquivo .bashrc . Basta colocar o seguinte no final do arquivo .bashrc .

PS1="\n$PS1"

Para explicar como isso funciona, PS1 é a variável que contém o que deve ser exibido como o prompt. Tudo isso está dizendo "set PS1 para o conteúdo anterior de PS1 , com um caractere de nova linha prefixado". Colocá-lo em .bashrc na maioria das distros apenas faz com que o bash o execute toda vez que você abrir um shell interativo (mas não um shell de login - veja Diferença entre o Login Shell e o Non-Login Shell? ).

    
por 11.08.2015 / 08:50
5

Você pode usar PROMPT_COMMAND :

PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"

ou:

PROMPT_COMMAND="echo;$PROMPT_COMMAND"
    
por 11.08.2015 / 09:02
3

Alternativa: deixe uma linha no prompt PS1= do seu .bashrc . Aqui está literalmente como eu configurei .bashrc em cada máquina linux que eu tenho:

PS1=' 
serg@ubuntu [$(pwd)]
================================
$ '

Como você vê no meu exemplo acima, o nome de usuário é codificado no prompt. É claro que você pode usar seqüências de escape que bash ou outro shell (por exemplo, ksh ), mas uma opção um pouco mais neutra seria usar a substituição de parâmetros com comandos como whoami (relatar seu nome de usuário) e hostname (obviamente, relatar nome de host). Por exemplo:

PS1='
$(whoami)@$(hostname):$(pwd)
$ '

Para mais coisas divertidas com o prompt, .bashrc e expansões de parâmetros, confira minhas respostas aqui:

Como verificar o status da bateria usando o terminal?

Como posso fazer com que meus terminais / shells tenham projetos personalizados? e

Como mostrar um relógio em execução no terminal antes do prompt de comando?

    
por 11.08.2015 / 20:30