Y'a évidement pas de $ devant le toto affecté !
Faudrait plutôt lire donc :
$> toto="/{home,tmp}" ; find `eval $toto`
Par contre, j'ai fait quelques essais, et je ne sais pas quel comportement tu souhaites avoir. Je m'explique :
Dans un répertoire, j'ai créé deux sous répertoire, comme suit :
$ mkdir $HOME/temp/r1 ; mkdir $HOME/temp/r2
Je m'y suis placé :
$ cd $HOME/temp
Et là, j'ai fait des essais : 1)
$ find ./{r1,r2}
./r1
./r2
Par contre, si je fais :
$ toto="./{r1,r2}" ; find `eval $toto`
ca revient au même que si je fais :
$ find
Ca me liste tout le contenu du répertoire $HOME/temp, ce qui n'est peut-être pas le résultat escompté.
En tout cas, lorsque tu fais find ./r{1,2}, c'est le shell qui concatène successivement 1 puis 2 à ./r, il faut donc trouver un moyen pour que ce soit envoyé tel quel par le biais de ton shell, comme ça, peut-être :
$ toto="find ./r{1,2}" ; eval $toto
./r1
./r2
[^] # Re: peut-être une clownerie, mais....
Posté par Gyro Gearllose . En réponse au message find et substitution de variables. Évalué à 2.
Y'a évidement pas de $ devant le toto affecté !
Faudrait plutôt lire donc :
$> toto="/{home,tmp}" ; find `eval $toto`
Par contre, j'ai fait quelques essais, et je ne sais pas quel comportement tu souhaites avoir. Je m'explique :
Dans un répertoire, j'ai créé deux sous répertoire, comme suit :
$ mkdir $HOME/temp/r1 ; mkdir $HOME/temp/r2
Je m'y suis placé :
$ cd $HOME/temp
Et là, j'ai fait des essais :
1)
$ find ./{r1,r2}
./r1
./r2
Par contre, si je fais :
$ toto="./{r1,r2}" ; find `eval $toto`
ca revient au même que si je fais :
$ find
Ca me liste tout le contenu du répertoire $HOME/temp, ce qui n'est peut-être pas le résultat escompté.
En tout cas, lorsque tu fais find ./r{1,2}, c'est le shell qui concatène successivement 1 puis 2 à ./r, il faut donc trouver un moyen pour que ce soit envoyé tel quel par le biais de ton shell, comme ça, peut-être :
$ toto="find ./r{1,2}" ; eval $toto
./r1
./r2
même résultat qu'en 1)