Aula 19: Scripts em Shell
O comando tar da aula anterior funciona — mas quando ele roda no cron não dá para saber se deu certo. A gente o encapsula em um script bash: #!/bin/bash na primeira linha diz qual interpretador usar. DEST=/backups define uma variável; $DEST a usa. chmod +x backup.sh adiciona permissão de execução. $
Um script é como uma receita escrita: #!/bin/bash diz 'cozinhe isso com bash', e chmod +x dá permissão para cozinhar. DEST=/backups guarda um endereço em um bilhete, e $DEST lê esse bilhete. $? é a prova de sabor no final — 0 significa que ficou bom.
- shebang (#!/bin/bash)
- A primeira linha de um script — diz qual interpretador vai rodá-lo. #! marca isso, /bin/bash é o caminho até o bash. Sem um shebang, o sistema operacional tenta adivinhar o interpretador.
- variável do bash
- NAME=value define (sem espaços). $NAME lê o valor. "$NAME" entre aspas duplas protege contra word splitting se o valor tiver espaços.
- código de saída ($?)
- Um código que todo comando retorna: 0 = sucesso, qualquer outro valor = falha. $? guarda o código do último comando. Precisa ser lido imediatamente antes que outro comando o sobrescreva.
- chmod +x
- Adiciona permissão de execução a um script. Sem ela, ./script.sh retorna 'Permission denied'. chmod +x script.sh habilita ./script.sh; bash script.sh também funciona sem chmod +x.