[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] help in bash



paolo wrote:
> Sono alle prime armi con il bash scripting e non riesco a
> trovare da nessuna parte come si può inserire un comando
> nella condizione del while, if, ...
> 
> Non sto parlando della "command sobstitution" fatta con i
> '`', ma di un metodo per fare in modo che (prendiamo ad
> esempio il while) il loop continui finchè quel comando
> termina con successo/insuccesso
> 
> Una soluzione alternativa per gli if-statement è ad esempio
> la seguente:
> cd /root || echo "non posso entrare"
> oppure
> cd /root && echo "sono nella home di root!"
> 
> Per i cicli iterativi esiste qualcosa?

forse hai gia' risolto, comunque while valuta gia l'exit status del
comando che gli passi, la confusione forse nasce dal fatto che [ e' un
comando e non sintassi bash!

$ ls -la `which [`
-rwxr-xr-x  1 root root 25548 2004-07-16 14:43 /usr/bin/[
$ ls -la `which test`
-rwxr-xr-x  1 root root 23396 2004-07-16 14:43 /usr/bin/test

(curioso, di solito avevo visto [ linkato a /usr/bin/test, comunque
per il resto man test)

quindi:
while comando; do "qualcosa"; sleep 30s; done

esegue fintanto che l'exit code di comando e' 0 (ovviamente c'e' sleep
30s perche' fai presto ad andare in loop)

filippo



Reply to: