Árvore no terminal

O Ano Novo está chegando, já não queremos pensar em trabalho sério.

Todos estão tentando enfeitar algo para as festas: a casa, o escritório, o local de trabalho... Vamos também decorar algo! Por exemplo, o convite do terminal de comando. De certa forma, o terminal de comando também é um local de trabalho.

Em algumas distribuições, ele já vem "decorado":

Árvore no terminal

Em outras, ele é cinza e sem graça:

Árvore no terminal

E podemos fazer algo assim:

Árvore no terminal

Claro, há gostos e cores diferentes. Se essa decoração parece tosca e inadequada para você, saiba que esse ponto de vista é totalmente válido. Mas se você também quer adicionar um pouco do espírito natalino, continue lendo este pequeno artigo de Natal da Cloud4Y.

Primeiro, vou explicar como o output do terminal é "decorado". Isso é feito através de sequências de escape. E, para ser mais exato, usando sequências de controle do terminal ANSI/VT100. O que automaticamente significa que seu emulador de terminal deve suportar esse padrão, caso contrário, a mágica de Natal não acontecerá. E sim, presume-se que seu $SHELL é o bash.

Essas sequências são chamadas de escape porque começam com o símbolo ASCII "escape". Existem muitas sequências de controle que permitem, por exemplo, exibir configurações do terminal, controlar a exibição e o movimento do cursor, alterar a fonte, apagar e ocultar texto. Nós, no entanto, escolheremos uma delas – a mudança da cor do texto e do fundo.

Executamos a sequência de código *ESC*[{attr1};...;{attrn}m
Como símbolo Escape é utilizada sua forma octal, ou seja, 33. Quanto aos atributos, aqui está uma lista resumida dos valores possíveis:

0 Resetar todos os atributos
1 Brilhante (aumento de brilho)
2 Escurecido
4 Sublinhado
5 Piscar
7 Inversão
8 Ocultar texto

Cores de Primeiro Plano (cor da caneta, usada para o texto):
30 Preto
31 Vermelho
32 Verde
33 Amarelo
34 Azul
35 Roxo
36 Ciano
37 Branco

Cores de Fundo (cor do papel ou fundo):
40 Preto
41 Vermelho
42 Verde
43 Amarelo
44 Azul
45 Roxo
46 Ciano
47 Branco

Note que se você agora digitar no terminal: echo 33[0;31mtexto qualquer 33[0m’

… você previsivelmente receberá no output uma abracadabra monocromática:

Árvore no terminal

Por quê? Porque era necessário usar os recursos avançados do comando echo. Basta adicionar uma opção: echo -e ‘ 33[0;31malgum texto 33[0m’

Agora a saída ficará correta:

Árvore no terminal

Entendemos como colorir a saída no terminal. Agora, vamos ver como colorir o prompt de comando.

Isso é feito através da alteração da variável PS1. Essa variável controla o prompt de comando. Sua aparência também pode ser alterada, inclusive com sequências de escape. Mas há uma pequena diferença: a sequência deve começar com o símbolo “[”, e terminar com o símbolo “]”, caso contrário, será impressa no terminal.

Todas as sequências de comando possíveis estão detalhadas no manual do bash, assim, eu sugiro que os leitores escolham sozinhos o que preferem ver no prompt de comando. Como exemplo, vou apresentar meu valor da variável PS1:

[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n

Vou decifrar esse encantamento estranho:

[ 33[34;1m] — ativamos a cor azul brilhante (segundo atributo) da fonte
t – exibimos o horário atual no formato HH:MM:SS
[ 33[0m] – resetamos as configurações de cor da fonte
, — apenas uma vírgula (surpreendente, não?)
[ 33[32m] — ativamos a cor verde da fonte
u@l@h – exibimos o nome do usuário, número do dispositivo do terminal e nome curto do host, separando com o símbolo “@”
[ 33[0m] — resetamos novamente as configurações de cor da fonte
: — apenas dois pontos (de repente!)
[ 33[33m] — ativamos a cor amarela da fonte
W – exibimos o nome do diretório atual
[ 33[0m] — mais uma vez, resetamos as configurações de cor da fonte
, — outra vírgula (quem poderia imaginar!)
[ 33[31m] — ativamos a cor vermelha da fonte
! — exibimos o número do comando no terminal
[ 33[0m] — não esqueçamos de resetar as configurações de cor da fonte
$ — exibimos “#” para root e “$” para todos os outros
n – nova linha. Por quê? Para que o comando comece na margem esquerda da janela, e não na posição final do prompt de comando.

Onde redefinir a variável? O mais lógico é fazer isso em ~/.bashrc.

A aparência do convite é limitada apenas pela sua imaginação. Na verdade, nada o impede de usar as ferramentas mencionadas acima para criar um prompt de comando na forma de uma árvore de Natal. No entanto, esse convite será bastante volumoso, e a facilidade de uso não melhorará. Você pode simplesmente exibir a árvore acima do prompt de comando ao entrar no sistema (precisamos editar ~\/ .bashrc de qualquer maneira). Vá em frente! E obrigado pela atenção.

Árvore no terminal

O que mais é útil para ler no blog Cloud4Y

→ Configurando o top no GNU/Linux
→ Pentesters na linha de frente da cibersegurança
→ Startups que podem surpreender
→ Precisamos de almofadas em data centers?
→ A casa que o robô construiu

Inscreva-se no nosso Telegram-canal para não perder o próximo artigo! Publicamos no máximo duas vezes por semana e apenas quando necessário. Também lembramos que o provedor de nuvem corporativa Cloud4Y lançou a promoção "Nuvem FZ-152 pelo preço normal". As inscrições podem ser feitas até 31 de dezembro.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster