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
dones 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 dos voltar.