Shell script
Shell script é o nome dado a um arquivo que será interpretado por algum programa tipo Shell. Atualmente existem vários programas tipo Shell. Além dos principais — sh e bash —, existem também, ksh, zsh, csh e tcsh. Um Shell script necessita basicamente do interpretador Shell.
Imagem: Jangra Works · BY · Openverse
A primeira linguagem de script em Shell, criada por Stephen R. Bourne, veio a ser implementada na versão 7 do Unix Shell e ficou conhecida como Bourne Shell (sh). Após a sua implementação, diversas outras linguagens de scripts baseadas no sh vieram, tais como Korn Shell, e DMERT Shell, sendo que, em 1989, foi lançada a linguagem que se tornou Shell de login padrão em diversas distribuições Linux, a GNU Bash ou simplesmente Bash.
Imagem: Christiaan Colen · BY-SA · Openverse
Scripts em Bash ou sh, permitem case, a sintaxe é a seguinte: Scripts em Bash possui compatibilidade com Expressões Regulares, algo que scripts em Bourne Shell (sh) não reconhecem: Existem diversos operadores para cada Shell script, mas aqui serão passadas informações especificamente sobre Bourne shell por ser mais comum e muitos outros shell são similares. Os seguintes operadores serão explicados aqui: uma condição de verdadeira para falsa e vice versa. arquivo especial; se sim, então a condição se torna verdadeira. (SGID); se sim, então a condição se torna verdadeira. se sim, então a condição se torna verdadeira. se sim, então a condição se torna verdadeira. iguais, a condição se tornará verdadeira. direito; se sim, então a condição se torna verdadeira. direito; se sim, então a condição se torna verdadeira. direito; se sim, então a condição se torna verdadeira. operando direito; se sim, então a condição se torna verdadeira.
Selecionar Shell
Para selecionar qual Shell será utilizado, use a combinação de hashtag (#) mais exclamação (!) e caminho do executável na primeira linha do arquivo script, isso vem a ser conhecido como Shebang. - Para declarar que o script deve ser interpretado por Bourne Shell (sh) a primeira linha será escrita da seguinte forma: - Para declarar que o script deve ser interpretado por Bourne-Again shell (Bash) é recomendável a utilização do comando env, pelo fato que apesar de o Bash já vir instalado em muitas distribuições Linux, não sabemos se estará em todas elas no mesmo diretório /bin/, então use a seguinte forma:
Comentários
Os comentários nas linguagens Bourne Shell (sh) e Bourne-Again Shell (bash) serão utilizados hashtag (#), Exemplo de comentários:
Variáveis
Como qualquer outra linguagem de programação conhecida, um script em Shell também possui suporte a variáveis. Em uma breve explicação uma variável é um nome/objeto simbólico ao qual podemos atribuir valores, ler ou manipular o conteúdo. Para mais informações, leia-me. Os scripts em Shell podem lidar com diferentes tipos de variáveis sem precisar definir o tipo: Os scripts em Shell possuem as seguintes variáveis pré-definidas: Variáveis globais ou variáveis de ambiente globais, são variáveis criadas/definidas com o comando export e podem ser utilizadas por múltiplos scripts em Shell. Um exemplo é a variável de ambiente LANG (Pré-definida em diversas distribuições Linux), Podendo ser acessada por diversos arquivos de script em Shell.
If
Declaração if para scripts em bash ou sh:
If-else
Declaração if else para scripts em bash ou sh, há diversas formas diferentes, tenha cuidado para não esquecer os espaços entre os colchetes eles são muito importantes: A declaração if else mais comum e mais utilizada é a seguinte: Mas, existe uma abreviação que também é muito utilizada que é menor e muito boa para teste de linha única:
Else-if
Declaração else if para scripts em bash ou sh são diferentes de algumas linguagens de programação, exemplo:
Imagem: jm3 · BY-SA · Openverse
Criar Shell script
Para criar um Shell script você precisa saber, antes, qual linguagem de script irá utilizar . Se for utilizar Bash, por exemplo, basta criar um arquivo com a extensão .sh e colocar na primeira linha desse arquivo o shebang para bash. Para distribuições com base Linux, abra o terminal e digite os seguintes comandos: E depois de criado você deve tornar o arquivo executável, utilizando o seguinte comando: chmod u+x novo_script
Verificar parâmetros de linha de comando
Para verificar parâmetros de linha de comando com Bourne shell, há apenas uma maneira recomendável: utilizar loop + case + shift. Já com Bash há mais de uma, pelo fato de o Bash suportar expressões regulares. Testar parâmetros utilizando loop + case + shift: O loop while acima irá iniciar se e somente se houver um parâmetro. O case irá analisar os parâmetros e o shift irá mudar de parâmetros se houver mais de um e terminar o loop caso não haja mais nenhum. Caso você tenha muitas opções para o seu script deixe help e version sempre como as primeiras e utilize break para terminar o loop.
Apagar arquivos antigos
Apagar periodicamente arquivos mais velhos que 30 dias do diretório /tmp:


