O
Shell Script é uma linguagem de programação utilizada, principalmente, para automatizar tarefas administrativas em sistemas operacionais
Unix-like.
Existem vários interpretadores para os scripts em shell, o mai utilizado em distribuições
GNU/Linux é o
bash. Além dele, outras opções de interpretadores são o
sh,
csh e o
ksh.
Nesse artigo, a minha ideia é trabalhar apenas com shell script interpretado pelo bash (durante o artigo vou chamar apenas de
shell script).
Para iniciar, vou usar o famoso: "Olá mundo!" (nesse caso: "ola user").
Com um editor de texto, criei o arquivo "teste.sh" com o seguinte conteúdo:
#!/bin/bash
echo "ola $USER";
Este script, simplesmente, cumprimenta o usuário. Nele utilizei o comando "echo", que imprime na saída padrão (nesse caso vai ser a tela do monitor), e a variável de ambiente "$USER", que guarda o login do usuário.
A primeira linha desse script (#!/bin/bash), indica o interpretador que deve executar os comandos que estão no arquivo.
Poderia ser outro interpretador shell (como por exemplo o #!/bin/sh), ou até mesmo não ser especificado nenhum interpretador. Nesse caso, o sistema vai utilizar o interpretador que estiver na variável "$SHELL" (interpretador padrão).
Para testar este script, é necessário que ele tenha permissão de execução no sistema, para isso, supondo que o arquivo foi salvo no diretório atual, vou rodar no terminal o comando abaixo:
chmod +x teste.sh
E para executar o script, vou rodar o comando:
./teste
Para executar esse script, eu especifiquei o caminho até o arquivo "teste.sh" (o "./" representa o diretório atual), isso foi necessário porque quando é digitado um comando (ou um script shell) no terminal, se não especificar o caminho até o arquivo, o sistema busca por ele nos diretórios que aparecem na variável "$PATH".
Se não quiser especificar o caminho para executar seus scripts, você pode colocá-los em um dos diretórios que aparecem na "$PATH" ou configurar o diretório onde eles estão nessa variável.
Exemplo sobre como fazer isso:
Iniciantes no Linux - Configurando o PATH [Tópico].