Você pode sair de um script em qualquer lugar usando a palavra-chave exit
. Você também pode especificar um código de saída para indicar a outros programas que ou como seu script falhou, por exemplo, exit 1
ou exit 2
etc. (Por convenção, o código de saída 0 é para sucesso e qualquer coisa maior que 0 significa falha; entretanto, também por convenção, códigos de saída acima de 127 são reservados para finalização anormal (por exemplo, por um sinal)).
A construção genérica para sair com falha é
if [ failure condition ]; then
exit n
fi
com failure condition
e n
adequados. Mas em cenários específicos, você pode proceder de maneira diferente. Agora, para o seu caso, eu interpreto sua pergunta de que, se alguma das cinco invocações de gksu
falhar, você quer sair. Uma maneira é usar uma função como esta
function try_command {
for i in 1 2 3 4 5 ; do
if gksu command ; then
return 0
fi
fi
exit 1
}
e, em seguida, invoque o loop por try_command
.
Existem (mais) formas avançadas ou sofisticadas de como abordar sua pergunta. No entanto, a solução acima é mais acessível para iniciantes do que, digamos, a solução de Stephane.