Script bash usare exit dentro un ciclo if

Ciao a tutti,
non riesco a terminare uno script bash con l'istruzione exit dentro un
ciclo if. Così come è scritto exit viene apparentemente ignorato e il
programma continua senza terminarsi. Ho provato anche exit 0, ma anche
così non funziona.

if [ $varcontinua == 'n' ] ; then
clear
echo "Chiudo il programma"
sleep 3
exit
else
clear
echo "Segui le istruzioni"
echo ""
fi

Dove sbaglio?

Ciao e grazie
andrea

Ciao a tutti,
non riesco a terminare uno script bash con l'istruzione exit
dentro un
ciclo if. Così come è scritto exit viene apparentemente ignorato e
il
programma continua senza terminarsi. Ho provato anche exit 0, ma
anche
così non funziona.

if [ $varcontinua == 'n' ] ; then
clear
echo "Chiudo il programma"
sleep 3
exit
else
clear
echo "Segui le istruzioni"
echo ""
fi

Dove sbaglio?

If non e` un ciclo ... :slight_smile:

Exit dovrebbe uscire se chiami quello che vediamo qui in uno script isolato,
magari il problema e` altrove?

Bye,
Chris.

Ciao, Chris hai ragione,
il problema era un altro, la condizione (ho studiato) è giusta, chiamavo
una funzione prima di essa che la bai-passava.
Ciao ciao

andrea

La soluzione hai già trovata mi pare, ma un debug poteva essere
(direttamente anche da riga comando con copia-incolla)

varcontinua=n
if [ $varcontinua == 'n' ] ; then
    #clear
    echo ::$varcontinua::
    echo "Chiudo il programma"
    #sleep 3
    #exit
else
    #clear
    echo ::$varcontinua::
    echo "Segui le istruzioni"
    echo ""
fi

attachment.htm (3.42 KB)