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
#
varcontinua=y
if [ $varcontinua == 'n' ] ; then
    #clear
    echo ::$varcontinua::
    echo "Chiudo il programma"
    #sleep 3
    #exit
else
    #clear
    echo ::$varcontinua::
    echo "Segui le istruzioni"
    echo ""
fi


ciao,
diego

---------------------------------------
Diego Maniacco, Bolzano (Italy)
diego.maniacco@gmail.com
---------------------------------------

2018-03-10 15:25 GMT+01:00 Andrea Congiu <congiu.andr@gmail.com>:
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

Il 10/03/2018 14:15, Chris Mair ha scritto:
>> 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 ... :)
>
> Exit dovrebbe uscire se chiami quello che vediamo qui in uno script isolato,
> magari il problema e` altrove?
>
> Bye,
> Chris.
> _______________________________________________
> http://lists.lugbz.org/cgi-bin/mailman/listinfo/lugbz-list

--

GnuPG        - ID chiave pubblica: 0x855121BB
ID diaspora* - andrea_c@pod.mttv.it
SIP          - congiu.andr@ekiga.net
_______________________________________________
http://lists.lugbz.org/cgi-bin/mailman/listinfo/lugbz-list