> 
>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

Rispondere a