As principais instruções condicionais do bash shell script são if e case.
Abra o emulador de terminal. Leia, copie e cole. Repita o processo.
1- NOME=Polodorio
2- echo $NOME
3- echo "$NOME"
4- echo "$NOME" && echo "$?"
5- echo "$NOME" && echo "$?" && echo "$$"
Se o diretório (-d) /tmp/ existir é sucesso, acerto é zero erro é 1 e o número do processo pode ser revelado usando echo “$$”
Copie e cole no terminal…
TMP=/tmp/; if test -d "$TMP"; then echo 'Sucesso'; fi; echo "$?"; echo "$$"
Se o arquivo (-f) aliases que deveria estar em : /usr/share/mime/aliases existir é sucesso, acerto é zero erro é 1 e o número do processo pode ser revelado usando echo “$$”. Se o arquivo não existir não haverá resposta nenhuma.
Copie e cole no terminal…
ARQ=/usr/share/mime/aliases; if test -f "$ARQ"; then echo "Sucesso."; fi; echo "$?"; echo "$$"
Linux bash shell script – Aprendendo declarações em if!
Se a variável for maior que dez então é sucesso!
Veja este pequeno bash shell script que preparei :
#!/bin/bash
NUM=12
if test "$NUM" -gt 10; then
echo Sucesso
fi
Copie e cole no terminal...
NUM=12; if test "$NUM" -gt 10; then echo "Sucesso"; fi
Copie e cole no terminal...
NUM=12; if [ "$NUM" -gt 10 ]; then echo "Sucesso"; fi
A exclamação (!) é um caractere de negação. Execute no terminal :
(Se 12 não for maior que 10 sucesso)
Copie e cole no terminal...
NUM=12; if test ! "$NUM" -gt 10; then echo 'Sucesso'; fi
De novo…
(Se 12 não for maior que 10 sucesso)
Copie e cole no terminal...
NUM=12; if [ ! "$NUM" -gt 10 ]; then echo 'Sucesso'; fi
(Se 12 não for maior que 20 sucesso)
Copie e cole no terminal...
NUM=12; if test ! "$NUM" -gt 20; then echo 'Sucesso'; fi
(Se 12 não for maior que 20 sucesso)
Copie e cole no terminal...
NUM=12; if [ ! "$NUM" -gt 20 ]; then echo 'Sucesso'; fi
Usando if then else e fi :
(Se 12 não for maior que 20 sucesso ou então não é maior que 10)
Copie e cole no terminal...
NUM=12; if test ! "$NUM" -gt 10; then echo 'Sucesso'; else echo "Não é maior que 10"; fi
OBS :
Notou que não usou o fechamento de else que é elif?
Mais um bash shell script.
#!/bin/bash
NUM=12
if test ! "$NUM" -gt 10
then
echo 'Sucesso'
else
echo "Não é maior que 10"
fi
## fim do script
Veja só isto…
Se 12 for maior que 10 e se 12 também for menor que 15, então sucesso.
Usando test e -a :
Copie e cole no terminal...
NUM=12; if test "$NUM" -gt 10 -a "$NUM" -lt 15; then echo 'Sucesso'; fi
OBS: pode usar o -a várias vezes.
#!/bin/bash
NUM=12
if test "$NUM" -gt 10 -a "$NUM" -lt 15
then
echo 'Sucesso'
fi
## fim do script
(se 12 for maior que 10 e se 12 também for menor que 15, então sucesso)
Copie e cole no terminal...
NUM=12; if [ "$NUM" -gt 10 -a "$NUM" -lt 15 ]; then echo 'Sucesso'; fi
#!/bin/bash
NUM=12
if [ "$NUM" -gt 10 -a "$NUM" -lt 15 ]; then
echo 'Sucesso'
fi
## fim do script
Veja só este que usa ou (OR)…
Se 12 for maior que 10 ou se 12 também for menor que 15, então sucesso.
Usando test e -o :
Copie e cole no terminal...
NUM=12; if test "$NUM" -gt 10 -o "$NUM" -lt 15; then echo 'Sucesso'; fi
NUM=12; if [ "$NUM" -gt 10 -o "$NUM" -lt 15 ]; then echo 'Sucesso'; fi
OBS:
pode usar o -o várias vezes e pode misturar o -o com o -a
o -a tem preferêncoa sobre o -o
#!/bin/bash
# if_basico.sh
# declaração if básica
clear
DATA=2020
if [ $1 -gt 100 ]
then
echo "Ei, $DATA este sim é um número grande."
pwd
date
ls -FC | head
fi
echo "$?"
echo "$$"
echo "$@"
## fim do script
Em uma só linha. Copie e cole no terminal :
clear; DATA=2020; if [ "$DATA" -gt 100 ]; then echo "Ei, $DATA este sim é um número grande."; pwd; date; ls -FC | head; fi; echo "Acerto ou erro : $?"; echo "Processo : $$"; echo "$@"
Copie e cole no terminal :
echo "Digite lsblk para a variável linux: " ; read linux
Copie e cole no terminal :
echo “$linux”
$linux
Conclusão :
Neste post aprendemos o básico sobre como efetuar declarações em if no bash do GNU/Linux. Ao aprender sobre declaração if sabemos melhor as variáveis. Vamos sair (exit). Se sair ok o exit code será zero. Se sair errado, o exit code será diferente de zero.
Ficamos por aqui. Até breve.
🙂