> >Ciao a tutti, ho ancora un problema con bash. Da uno script devo >eseguire un comando i cui parametri vengono calcolati nello script >stesso e tali parametri possono avere spazi al loro interno. In altre >parole il problema si può riassumere come: >> #!/bin/sh >> >> test_dir="dir con spazi" >> rm_dir=0 >> if [ ! -d "$test_dir" ]; then >> mkdir "$test_dir" >> [ $? -gt 0 ] && exit 1 >> rm_dir=1 >> fi >> >> cmd="ls -la \"$test_dir\"" >> $cmd >> >> [ $rm_dir ] && rmdir "$test_dir" > >Se eseguo lo script mi ritorna: >ls: impossibile accedere a "dir: No such file or directory >ls: impossibile accedere a con: No such file or directory >ls: impossibile accedere a spazi": No such file or directory > >Qualcuno ha qualche idea di come si possa risolvere? >
Prova così: modifica IFS #!/bin/sh IFS=" " test_dir="dir con spazi" rm_dir=0 if [ ! -d "$test_dir" ]; then mkdir "$test_dir" [ $? -gt 0 ] && exit 1 rm_dir=1 fi cmd="ls -la \"$test_dir\"" $cmd [ $rm_dir ] && rmdir "$test_dir" Walter -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/1321607582.29554.yahoomail...@web28215.mail.ukl.yahoo.com