Como eu automatizo para exibir o cursor sob o prompt no shell

2

Eu corro seguindo uma série de comandos para trazer o cursor sob o prompt no terminal do shell.

$ NL='              # << press enter
'                   # << press enter again
$ PS1=${PS1}${NL}

Eu tenho que fazer isso toda vez que eu fizer login. Como posso automatizá-lo? Eu tentei adicionar essas mesmas instruções em ~/.profile e reiniciado. Sem sorte.

EDITAR:

Veja como eu fiz isso. Eu adicionei a seguinte linha (meu prompt bash favorito) em ~/.bashrc (eu criei).

export PS1="===================\n\n\d \A \u@\H [\w]\n\$ \[$(tput sgr0)\]"

    
por 8thperson 11.04.2016 / 12:58

2 respostas

5

Use NL=$'\n' . Você também precisa citar duas vezes o $NL quando usá-lo (e provavelmente $PS1 também, dependendo do que ele contém ... inclua-o dentro das aspas duplas).

por exemplo. adicione ao seu ~/.bash_profile (ou ~/.profile se preferir):

NL=$'\n'
PS1="${PS1}${NL}"

BTW, a longo prazo, aposto que você fica cansado de quanto espaço terminal valioso é desperdiçado pela nova linha extra. As telas tendem a ser muito mais largas do que altas (por exemplo, algumas resoluções comuns para uma proporção de 16: 9 são 1920x1080 ou 2560x1440, enquanto resoluções comuns para 16:10 são 1920x1200 ou 2560x1600), portanto o espaço vertical da tela é mais raro e valioso. Quanto mais espaço desperdiçado, menos informações úteis você pode ver na tela de uma só vez.

    
por 11.04.2016 / 13:13
3

Você pode querer ser explícito sobre o conteúdo do seu prompt:

PS1='\u@\h:\w\n\$ '

Veja o link

E eu tenho um prompt de linha três que funciona muito bem para mim.

    
por 11.04.2016 / 15:23

Tags