Sistemas operacionaisTutoriais

Não é magia, é Shell Script! Truques da linha de comando Linux

Dominar o Shell Script é, em outras palavras, automatizar o Linux da forma mais pura. Hoje vamos começar uma série que vai te ajudar a fazer as pazes com o terminal e ainda lhe dar algumas dicas úteis.

O Shell Script foi criado por Ken Thompson (Thompson Shell, mais tarde foi substituído pelo Bourne Shell desenvolvido por Stephen Bourne, Bourne Shell), o criador do Unix e Linguagem C, juntamente com Dennis Ritchie. O objetivo principal foi: criar uma forma rápida, fácil e que fosse possível automatizar a comunicação com o Kernel. A principal característica do Shell Script é a mesma que lhe difere de diversas linguagens de programação, que é poder de jogar a saída de um comando para outro comando, o pipe, que atualmente pode ser “invocado” pelo caracter: | .

O Shell Script está presente em todos os sistemas Unix e Unix-like (Linux, FreeBSD, OpenBSD, HP-UX, Solaris, AIX, NetBSD, Irix, etc.), sem dizer que o Microsoft Windows, na sua última versão, possui Shell Script, além do macOS que é um sistema que possui o kernel FreeBSD customizado. Existem diversos tipos de Shell, essa variedade passou a existir por conta das licenças de software. Nas distribuições Linux, o Shell padrão é o Bash (Bourne Again Shell, tratando-se de uma melhoria do Bourne Shell e com uma licença mais permissiva), que é o que utilizaremos aqui.

Customizando a aparência do seu prompt de comando (Variável PS1)

Da mesma forma que existem diversos tipos de Shell, existem também diversos emuladores de terminal para o Shell e diversas formas de apresentar suas características. A primeira coisa que você vê quando abre o terminal é o prompt de comando, para entender melhor ele, podemos dizer que é uma “barra indicadora” da sua posição no Shell. A aparência dele depende diretamente da variável PS1 , que pode ser configurada nos arquivos: ~/.bashrc, .profile ou qualquer arquivo que faça parte da árvore recursiva . Veja na imagem abaixo o exemplo do meu prompt de comando:

Terminal

Ou seja, isso é o conteúdo da minha variável $PS1 . Se você atribuir outro valor a variável PS1 utilizando o próprio Shell, você verá que o prompt será alterado. Exemplo, copie e cole o conteúdo abaixo e cole no seu terminal e depois tecle enter:

PS1="blog@diolinux: "

Você notará que o prompt será modificado, mas não se preocupe, se quiser que retorne ao prompt anterior, basta fechar e abrir de novo seu terminal ou rodar o comando abaixo:

source /etc/profile

Se quiser modificar permanentemente a configuração do seu prompt basta atribuir o valor que deseja no seu .bashrc . Você pode adicionar: sintaxes específicas, cores, caracteres,… Por exemplo, para que seu prompt apresente: o nome de usuário, o nome de seu computador e o diretório em que você se encontra, use essa configuração para seu prompt:

  • u  – indica o nome de seu usuário;
  • h  – indica o host;
  • w  – indica o diretório;
  • n  – pula para linha abaixo.

E vamos separá-lo por alguns caracteres definidos por nós como: seta,relâmpago e espaços. Ficando assim:

PS1="u → h wn ⚡"

Abra o arquivo .bashrc com um editor de texto e crie uma nova linha no final do arquivo e insira o conteúdo acima, ou rode o comando abaixo:

echo 'export PS1="u → h wn ⚡"' >> ~/.bashrc

O comando export serve para deixá-la global!

Se quiser defina cores para sua PS1, usando a seguinte sintaxe:

  • NUMERO – Corresponde ao número da cor: (31 é vermelho, 32 verde, 33 amarelo, 34 azul, 35 rosa, 36 ciano, 37 branco e 30 preto)
  • TIPO – Define se aparecerá em negrito, sublinhado ou normal: (1 é negrito, 4 sublinhado e 0 normal)

A letra m, logo após o TIPO tem de existir e pode ficar “colada” com o restante do conteúdo. Veja esse exemplo que eu criei para esse artigo:

  • Verde negrito para o nome de usuário: [32;1m
  • Amarelo negrito para a seta: [33;4m
  • Branco normal para o diretório: [37;0m
  • Rosa negrito para o relâmpago: [35;1m
  • E no final desligamos as cores: [m

sh PS1=”e[32;1mu e[33;1m→ e[36;1mh e[37;0mwn e[35;1m⚡e[m”

Terminal customizado

Colorindo o Manual e tornando a leitura mais amigável

O manual do sistema é uma das partes mais acessados pelo Shell, e muita gente não gosta muito de utilizá-lo, pois acha ele técnico demais dizendo que não consegue entender bem. Um dos motivos dessa dificuldade está relacionada ao visual do mesmo. Assim como vimos a dica anterior que incluia utilização de cores, podemos customizar o manual para que ele separe os trechos com cores que FACILITARÃO MUITO nossa leitura. Exemplo: Copie o comando abaixo e cole no final do seu .bashrc e depois abra o manual e veja a diferença:

export LESS_TERMCAP_mb=

Depois feche e abra o terminal ou rode o comando source ~/.bashrc abra o manual e veja a diferença, ex.: man bash

Manual customizado Linux

Se você ainda não tem muitos conhecimentos em Shell Script e está procurando uma forma eficaz de aprender do zero? Ou quem sabe você já possui conhecimentos em Shell mas quer evoluir e aprender a criar manuais, processos, games, animações, instaladores e muito mais? Então não deixe passar a oportunidade de conhecer o “Curso Extremamente Avançado de Shell Script” que oferecemos junto com a galera do Terminal Root, são 3 cursos pelo preço de um, conheça aqui.

Até a próxima e bons estudos! 

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!