break e continue
Estes comandos são úteis quando usamos loops.
break
Quebra a execução do loop. Para entender nada melhor que um exemplo:
#!/bin/bash
# breaksample.sh
# `true` sempre retorna verdadeiro
while true; do
read -p "Tente adivinhar o número: " NUM
[ "$NUM" -eq 666 ] && break
done
echo -e "\nVocê acertou! \n"
O que o break
faz é pular a sequência de execução do script para o
que vier depois do done
. Ele também aceita argumento numérico, da seguinte
forma: break n
, onde n
é um número inteiro que indica quantos
done
s pular.
continue
O continue
interrompe o loop e faz novamente o teste do comando que
está controlando o loop (for
, while
, etc.). Veja este exemplo:
#!/bin/bash
# concatenar.sh
[ $1 ] || { echo "Entre com o(s) nome(s) do arquivo(s)"; exit 1; }
for FILE in $@; do
[ -f $FILE ] || {
echo -e "\"$FILE\" não é um arquivo\n"
continue
}
cat $FILE >> AllFiles.txt
echo -e "\n\n\n-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n\n" >> AllFiles.txt
done
echo "Feito!"
O que o continue
faz é voltar lá para antes do do
pra fazer o teste
novamente. Ele também aceita argumento no estilo continue n
para
indicar quantos do
s voltar.