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

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