Instrução If
Parte da seção Fundamentos do Journey de Terminal da Coddy — lição 70 de 82.
Até agora, seus scripts executam cada comando de cima para baixo sem qualquer tomada de decisão. Mas e se você quiser que seu script faça coisas diferentes com base em certas condições? É aí que entra a instrução if.
A declaração if permite que seu script tome decisões. Ela verifica se uma condição é verdadeira e, se for o caso, executa um bloco de código. Aqui está a estrutura básica:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiA condição vai dentro de colchetes com espaços ao redor dela. A palavra-chave then marca o início do código a ser executado, e fi (if soletrado ao contrário) encerra a instrução.
Você também pode lidar com o caso em que a condição é falsa usando else:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiOperadores de comparação comuns para números incluem -eq (igual), -ne (diferente), -gt (maior que), -lt (menor que), -ge (maior ou igual) e -le (menor ou igual). Para strings, use = para igualdade e != para desigualdade.
Lembre-se de sempre incluir espaços dentro dos colchetes e colocar suas variáveis entre aspas para evitar erros com valores vazios.
Desafio
FácilCrie um script shell chamado check_score.sh que usa uma instrução if para avaliar uma pontuação de teste.
Seu script deve:
- Comece com a linha shebang (
#!/bin/bash) - Crie uma variável chamada
scorecom o valor75 - Use uma instrução if para verificar se a pontuação é maior ou igual a 70
- Se verdadeiro, imprima:
You passed! - Se falso, imprima:
You failed.
Torne o script executável e execute-o. Como a pontuação é 75, sua saída deve ser:
You passed!Dica: Lembre-se de usar
-gepara comparação "maior ou igual a", inclua espaços dentro dos colchetes e termine sua instrução if comfi.
Folha de consulta
A declaração if permite que scripts tomem decisões com base em condições:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiA condição vai dentro de colchetes com espaços ao redor dela. Use then para marcar o início do bloco de código e fi para encerrar a declaração.
Use else para lidar com casos quando a condição é falsa:
#!/bin/bash
age=15
if [ $age -ge 18 ]; then
echo "You are an adult"
else
echo "You are a minor"
fiOperadores de comparação comuns:
- Números:
-eq(igual),-ne(diferente),-gt(maior que),-lt(menor que),-ge(maior ou igual),-le(menor ou igual) - Strings:
=(igualdade),!=(desigualdade)
Sempre inclua espaços dentro dos colchetes e aspas nas variáveis para evitar erros com valores vazios.
Experimente você mesmo
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Fundamentos
4Diretórios
Criar um DiretórioCopiar um DiretórioMover e Renomear um DiretórioExcluir um DiretórioResumo - Operações com Diretórios7Conteúdo do Arquivo
Head e TailContagem de PalavrasComando SortComando UniqGrep BásicoGrep com FlagsResumo - Detetive de Texto10Projeto Analisador de Log
Visão Geral do ProjetoVisualizando o Arquivo de Log13Fundamentos de Shell Scripting
O Que É Um Script de ShellCriar e Executar um ScriptVariáveis em ScriptsEntrada do Usuário em ScriptsInstrução IfLaço ForLaço WhileResumo - Adivinhador de Números2Navegação
Imprimir Diretório de TrabalhoListar ArquivosMudar DiretórioCaminhos Absolutos vs RelativosDiretório Home e RaizResumo - Encontre Seu Caminho8Redirecionamento
Saída PadrãoSobrescrever em um ArquivoAnexar a um ArquivoEntrada PadrãoErro PadrãoRecapitulação - Construtor de Log3Arquivos
Criar um ArquivoLer um ArquivoCopiar um ArquivoMover e Renomear um ArquivoExcluir um ArquivoResumo - Operações com Arquivos6Curingas e Padrões
O Curinga AsteriscoO Curinga InterrogaçãoCuringas de ColchetesCombinando CuringasResumo - Operações Seletivas9Pipes
O Que é um PipeEncadeando Dois ComandosEncadeando Múltiplos ComandosPipe com GrepResumo - Pipeline de Dados