Pagina 1 di 2
programmazione bash: esiste un ciclo do-while?
Inviato: dom 25 set 2005, 12:46
da cesconix
Sapete se esista il ciclo do-while su bash?
Inviato: dom 25 set 2005, 13:14
da MAT
Inviato: dom 25 set 2005, 13:20
da gallows
Che io sappia no... Puoi ovviare con un break:
Codice: Seleziona tutto
a=0
while true; do
echo ciao
let a++
[ $a == "5" ] && break
done
Per fare un for "alla C" comunque si fa cosí:
Inviato: dom 25 set 2005, 13:20
da cesconix
ovvio che già avevo cercato...e il do-while non l'ho mai notato e in quella pagina non c'è
Inviato: dom 25 set 2005, 13:30
da l1q1d
Inviato: dom 25 set 2005, 13:32
da cesconix
certo
Codice:
while test-commands; do consequent-commands; done
questo è un normale ciclo while. Io cerco un do-while.
Inviato: dom 25 set 2005, 13:48
da MAT
Un do-while lo puoi trasformare senza problemi in un altro ciclo (while-do o for, come ti è stato mostrato).
Inviato: dom 25 set 2005, 14:38
da cesconix
appunto io inizialmente avevo scritto lo script arrangiandomi con un while normale
Inviato: dom 25 set 2005, 15:49
da Paoletta
sì, il ciclo do-while esiste, e ha la seguente struttura:
ciao!
Inviato: dom 25 set 2005, 16:52
da gallows
Paoletta ha scritto:sì, il ciclo do-while esiste, e ha la seguente struttura:
ciao!
Non sono d'accordo, do...while (quello di C) quello che c'è all'interno del costrutto almeno una volta lo esegue, until no.
Inviato: dom 25 set 2005, 18:37
da cesconix
appunto...il do-while è fatto apposta che il ciclo lo esegue almeno una volta per poi verificare la condizione alla fine
Inviato: dom 25 set 2005, 18:48
da Paoletta
ma allora perchè i progettisti della bash hanno fatto while e until in modo che funzionassero alla stessa maniera? qualche differenza dovranno pur averla...premetto che non ho mai usato until
Inviato: dom 25 set 2005, 18:53
da gallows
Infatti until non si usa quasi mai.
man bash ha scritto: The while command continuously executes the do list as long as
the last command in list returns an exit status of zero. The
until command is identical to the while command, except that the
test is negated.
Inviato: dom 25 set 2005, 18:55
da Paoletta
chiarito il dubbio: until esce qundo la condizione è verificata, while quando non lo è; ma entrambi non sono come il do-while del C;
Inviato: dom 25 set 2005, 18:56
da Paoletta
post contemporaneo!