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 tomar nenhuma decisão. Mas e se você quiser que seu script faça coisas diferentes com base em determinadas condições? É aí que a instrução if entra em cena.
A instrução if permite que seu script tome decisões. Ela verifica se uma condição é verdadeira e, se for, executa um bloco de código. Esta é a estrutura básica:
#!/bin/bash
age=18
if [ $age -ge 18 ]; then
echo "You are an adult"
fiA condição fica entre colchetes, com espaços ao redor. A palavra-chave then marca o início do código a ser executado, e fi (if escrito 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"
fiOs operadores 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 de shell chamado check_score.sh que use uma instrução if para avaliar uma pontuação de teste.
Seu script deve:
- Começar com a linha shebang (
#!/bin/bash) - Criar uma variável chamada
scorecom o valor75 - Usar uma instrução if para verificar se a pontuação é maior ou igual a 70
- Se for verdadeira, imprimir:
You passed! - Se for falsa, imprimir:
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 a comparação "maior ou igual a", incluir espaços dentro dos colchetes e terminar sua instrução if comfi.Não há um editor de arquivos aqui, então escreva o arquivo diretamente pelo shell com um here-document: digite
cat > check_score.sh << 'EOF', depois as linhas do script e, por fim, uma última linha contendo apenasEOF.
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 DadosPratique por conta própria: Playground de Terminal