Pascal BEAUSSART

eval


La commande eval permet de construire une commande par concaténation et de l'exécuter dans l'environnement courant.

   x="ec"
   y="ho bonjour"
   eval $x$y              # echo bonjour / affiche bonjour
et par suite de travailler par indirection.
   toto1=bonjour  
   toto2=salut            
   x=1                    
   eval echo '$toto'$x    # bonjour
   x=2                    
   eval 'var=$toto'$x     # var=$toto2
   echo $var              # salut
Le programme n'est pas figé
   if eval [ -d \${$#} ]  # if [ -d $2 ] (si 2 paramétres)
   then  echo "le dernier paramétre doit être un répertoire"
         exit 1           
   fi                     

[RETOUR] [HOME]