Aula 20: Condicionais em Bash
O script da aula anterior cria um backup — mas não informa se deu certo. Vamos adicionar uma condição if a ele. [ -f file ] testa a existência de um ficheiro; [ -d dir ] testa a existência de um diretório; [ $? -eq 0 ] testa um código de saída. [ é um comando de verdade — são necessários espaços ant
if é simplesmente 'se': [ -f ] pergunta 'o ficheiro existe?', then significa 'então', e fi fecha o bloco — é só o if escrito ao contrário. Uma coisa pra lembrar: [ ] é um comando de verdade, então precisa de espaços ao redor dele, como qualquer comando.
- if do bash
- if [ condition ]; then ... fi. [ ] retorna código de saída 0 (true) ou 1 (false). then abre o corpo do bloco. fi (=if ao contrário) fecha. else numa linha separada é válido para um bloco alternativo.
- operadores do test
- -f: ficheiro regular existe. -d: diretório existe. -e: caminho existe (qualquer tipo). -eq: igual (números). -ne: diferente. -z: string vazia. -n: string não vazia.