Ao usar a linha de comando, muitas vezes fica muito confuso. Tornando inconveniente examinar comandos passados e suas saídas, por exemplo.
Gostaria de adicionar uma nova linha sempre que o prompt de comando for exibido. Igual a:
<clutter>
<blank line>
name@machine:~$
Eu uso o shell bash. Como isso pode ser alcançado?
bash
command-line
Preguiça
fonte
fonte
Respostas:
Uma maneira de conseguir isso é modificando o
.bashrc
arquivo. Simplesmente coloque o seguinte no final do.bashrc
arquivo.Para explicar como isso funciona,
PS1
é a variável que contém o que deve ser exibido como o prompt. Tudo isso está dizendo é "definidoPS1
para o conteúdo anterior dePS1
, com um caractere de nova linha anexado". Colocá-lo na.bashrc
maioria das distros apenas faz com que o bash o execute sempre que você abre um shell interativo (mas não um shell de login - consulte Diferença entre o Shell de Login e o Shell Não-Login? ).fonte
PS1="\n$PS1"
em um terminal tem efeito imediato :)clear
(ou pressionarCtrl+l
) a primeira linha mostrada é uma linha vazia. Para alguns, pode ser um pequeno detalhe, mas eu preferiria muito que a primeira linha fosse o prompt.Você pode usar PROMPT_COMMAND :
ou:
fonte
PROMPT_COMMAND="printf '\n';$PROMPT_COMMAND"
? Em sua forma atual, parece que não faço nada quando o coloquei no.bashrc
arquivo.printf
eecho
são muito leves, é claro, mas ainda não faz sentido usarPROMPT_COMMAND
quandoPS1
fará o trabalho.Alternativa: deixe uma linha no
PS1=
prompt do seu.bashrc
. Aqui está literalmente como eu configuro.bashrc
em todas as máquinas Linux que tenho:Como você pode ver no meu exemplo acima, o nome de usuário é codificado no prompt. É claro que você pode usar seqüências de escape que o bash ou outro shell (por exemplo, ksh ) fornece, mas uma opção um pouco mais neutra seria usar a substituição de parâmetros com comandos como
whoami
(reporte seu nome de usuário) ehostname
(obviamente, reporta o nome do host). Por exemplo: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 faço para que meus terminais / invólucros tenham designs personalizados? e
Como mostrar um relógio de corrida no terminal antes do prompt de comando?
fonte
$(whoami)
em vez deusernamehardcoded
\u
e\h
para seu nome de usuário e nome de host, respectivamente. Você pode ver mais caracteres especiais (por exemplo, a hora atual em vários formatos) aqui