De forma concisa Shell Script é uma linguagem de programação que pode ser utilizada para automatizar tarefas corriqueiras e repetitivas. Neste artigo será mostrado uma introdução ao Shell Script utilizando o interpretador de comandos Bash, mas antes disto, o que seria um interpretador de comandos?

É o programa responsável em interpretar as instruções enviadas pelo usuário e seus programas ao seu Sistema Operacional, ele executa os comandos lidos da entrada padrão de dados (teclado) ou de um arquivo executável. Sendo que os comandos podem ser enviados de duas maneiras para o interpretador:

  • Interativa: Os comandos são digitados no prompt de comando e fornecidos um a um para o interpretador, desta forma o computador depende do usuário para realizar a tarefa.
  • Não-interativa: São usados arquivos de comandos criados pelo usuário (scripts) para o computador executar os comandos de forma sequencial. Desse modo o computador executa os comandos do arquivo um por um sem a necessidade de uma pessoa ficar digitando comando por comando para realizar uma determinada tarefa.

Logo abaixo está um código que apenas imprimi na tela “Hello World!”.

#!/bin/bash

echo "Hello World!"

Observe que todo script shell que for ser escrito deve possuir na primeira linha, a indicatória de qual interpretador será utilizado para executar o script, isto é uma convenção e não uma regra, já que é possível executar um script shell sem especificar qual o interpretador que deve ser utilizado para rodá-lo, sendo assim ele irá utilizar o interpretador em que o usuário estiver utilizando no momento da execução do script.

No exemplo acima foi utilizado o Bourne Again Shell (Bash), que se encontra no caminho absoluto “/bin/bash”. Caso deseje desenvolver um script shell que vá utilizar outro interpretado, basta fornecer o caminho absoluto do executável do mesmo, mas fazendo isso acabará implicando diretamente com o script a ser desenvolvido, já que cada interpretador de comandos possui certas peculiaridades próprias. Atente-se em sempre anteceder o caminho do interpretador a ser utilizado com “#!”, a junção da cerquilha com o ponto de exclamação é chamada de shebang (sha-bang, hashbang, pound-bang, hash-pling). E sempre dê permissão de execução para o script, como:

chmod 755 hello-world.sh

O comando acima irá determinar permissão de leitura, escrita e execução para o dono do arquivo, leitura e execução para o grupo e leitura e execução para outros. Para executar o script pode-se utilizar duas maneiras:

1 – Se o script foi salvo no diretório atual, basta executá-lo digitando o caminho relativo no prompt:

./hello-world.sh

2 – Se o script foi salvo em qualquer outro diretório, pode-se utilizar o caminho absoluto. Considerando que o script está em “/tmp/scripts”:

/tmp/scripts/hello-world.sh

No caso do script “hello-world.sh” a sua execução irá imprimir na tela o seguinte resultado:

Hello World!