Olá estudantes.
As vezes até sabemos como resolver determinado problema mais esbarramos na identação e regras especificas de cada linguagem.
Para ajudar neste caso que tal fazer uma revisão.
Vou usar exemplos simples e adicionar comentários explicativos para ajudar na compreensão.
- Estrutura
if
/else
A estruturaif
em Bash é usada para executar comandos dependendo de uma condição.
As chaves{}
indicam o escopo do bloco de código que será executado caso a condição seja verdadeira.
#!/bin/bash
# Variável para testar a condição
numero=10
if [ $numero -gt 5 ]; then
echo "O número é maior que 5"
else
echo "O número não é maior que 5"
fi
- O uso de 4 espaços para identação é comum, mas você pode usar tabs ou 2 espaços, contanto que seja consistente.
- O bloco do
if
(o código dentro das chaves{}
) só será executado se a condição for verdadeira, e o bloco doelse
será executado se a condição for falsa.
- Estrutura
case
A estruturacase
é usada quando você tem múltiplas opções possíveis para uma variável.
#!/bin/bash
# Variável de exemplo
opcao="b"
case $opcao in
"a")
echo "Você escolheu a opção A"
;;
"b")
echo "Você escolheu a opção B"
;;
"c")
echo "Você escolheu a opção C"
;;
*)
echo "Opção inválida"
;;
esac
- Cada bloco de código dentro de uma opção é normalmente indentado.
- A estrutura
case
examina a variável$opcao
e executa o bloco correspondente. - O
;;
é usado para terminar cada bloco dentro docase
. esac
é a palavra-chave que fecha o blococase
(caso doswitch
em outras linguagens).
- Estrutura
for
O loopfor
permite iterar sobre um conjunto de valores.
#!/bin/bash
# Loop for para iterar números de 1 a 5
for i in {1..5}; do
echo "Número $i"
done
- O código dentro do loop é indentado.
- O código dentro do
do
será repetido para cada valor no conjunto especificado. - O loop é fechado com
done
.
- Estrutura
while
O loopwhile
executa um bloco de código enquanto a condição for verdadeira.
Cuidado para não cair em um loop infinito e se acontecer : CTRL + C
#!/bin/bash
# Variável de contador
contador=1
while [ $contador -le 5 ]; do
echo "Contador: $contador"
((contador++)) # Incrementa o contador
done
- O código dentro do loop
while
é indentado. - O código dentro do
do
será repetido enquanto a condição após owhile
for verdadeira. - O loop é fechado com
done
.
Considerações sobre Identação e Escopo: - Identação:
- Não é obrigatória em Bash, mas é altamente recomendada para melhorar a legibilidade.
- Usa-se normalmente 4 espaços por nível de indentação.
- Escopo:
- O escopo de uma estrutura de controle (como
if
,for
, etc.) se estende até ofi
,done
, ouesac
, que são usados para fechá-las corretamente.
Como fechar corretamente:
if
: Usefi
para fechar.for
,while
: Usedone
para fechar.case
: Useesac
para fechar.
Ainda temos os comparadores e operadores:
- -eq: Igual a (numérico)
- -ne: Diferente de (numérico)
- -gt: Maior que (numérico)
- -lt: Menor que (numérico)
- -ge: Maior ou igual a (numérico)
- -le: Menor ou igual a (numérico)
- ==: Igual a (strings)
- !=: Diferente de (strings)
- -z: String vazia
- -n: String não vazia
- &&: E lógico
- ||: OU lógico
- [[ ]]: Teste de strings e expressões regulares
- ( comando ): Executa em subshell
- (( )): Operações aritméticas e comparações numéricas
Com o tempo e muita pratica tiramos isso de letra.
Caso contrario sempre podemos recorrer a uma colinha.
Comente ai se tiver duvida e complemente este post se faltou algo.
Bons estudos.