Diferencia / decora a entrada e a saída da linha de comando (com cor ou recuo)

0

Em uma festa do CentOS, (ou, se houver uma maneira geral em outros bashes, como o Ubuntu, melhor), como posso diferenciar comandos digitados por mim com a saída dos comandos?

Eu pergunto isso porque quando eu uso um comando que produz muito na tela, é difícil encontrar onde ele começa. Eu quero, por exemplo, decorar meus comandos com uma cor brilhante e a saída com uma cor mais escura, ou, recuar a saída por 4.

O que pode ser assim:

[root@westerngun ~]# ps aux | grep myname                             <- brighter
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx   <- darker
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Ou:

[root@westerngun ~]# ps aux | grep myname                          
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  <- indented by 4
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    
por WesternGun 14.02.2018 / 16:54

1 resposta

1

Para iniciantes, bash é bash , não importa onde esteja sendo executado. A única coisa importante a observar é qual versão. bash 4 tem alguns novos recursos não disponíveis em bash 3, por exemplo.

Dito isso, você pode colorir o prompt com bastante facilidade configurando PS1 ("Prompt String 1") para definir um comando diferente do outro. Por exemplo, quando eu faço login em uma das minhas máquinas domésticas, vejo isso:

Ao rolar pelo meu histórico de terminal, posso apenas desligar o texto ciano no meu prompt para saber quando um comando termina e outro começa.

Para referência, meu PS1 é o seguinte:

\[\e[38;5;14m\]\u\[\e[38;5;8m\]@\[\e[38;5;6m\]\h\[\e[38;5;8m\]:\[\e[38;5;10m\]\w \e[31m${?##0}\n\[\e[$(((($?>0))*31))m\]\$\[\e[0m\]

Isso mostra meu nome de usuário, hostname e CWD em uma string que eu poderia copiar e colar (por exemplo, um comando scp , seguido pelo código de saída do comando anterior se não fosse zero.

    
por 14.02.2018 / 16:59