[bash] eseguire comando con parametri in variabile
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?
Grazie mille ancora
Piviul
Reply to: