Gravando scripts shell

Scripts shell são convenientes para todos os tipos de tarefas: coleta de dados, pesquisa por uma palavra ou frase em um texto e muitas outras coisas úteis. O exemplo seguinte mostra um pequeno script shell que imprime um texto:

Exemplo 7.1. Um script shell que imprime um texto

#!/bin/sh 1
# Output the following line: 2
echo "Hello World" 3

1

A primeira linha começa com os caracteres Shebang (#!), indicando que o arquivo é um script. O script é executado pelo interpretador especificado após o Shebang, neste caso, /bin/sh.

2

A segunda linha é um comentário que começa com o sinal de hash. Ele é recomendado para inserir comentário em linhas cuja função é difícil de lembrar.

3

A terceira linha usa o comando interno echo para imprimir o texto correspondente.


Antes de executar esse script, você precisa de alguns pré-requisitos:

  1. Todo script deve conter uma linha Shebang (como foi o caso do nosso exemplo acima). Se um script não tiver essa linha, você deverá chamar o interpretador manualmente.

  2. Grave o script no lugar desejado. Contudo, convém gravá-lo em um diretório onde o shell possa encontrá-lo. O caminho de pesquisa em um shell é determinado pela variável de ambiente PATH. Um usuário normal geralmente não tem acesso de gravação em /usr/bin. Por essa razão, recomenda-se gravar seus scripts no diretório ~/bin/ dos usuários. O exemplo acima leva o nome hello.sh.

  3. O script requer permissões de executável. Defina as permissões com o seguinte comando:

    chmod +x ~/bin/hello.sh

Se você atendeu a todos os pré-requisitos acima, poderá executar o script das seguintes maneiras:

  1. Como caminho absoluto.  O script pode ser executado em um caminho absoluto. No nosso caso, ele é ~/bin/hello.sh.

  2. Em todos os lugares.  Se a variável de ambiente PATH contiver o diretório onde o script está localizado, você poderá executar o script apenas com hello.sh.