Bonjour,
J'aimerai stocker dans une variable le nom et le chemin d'un programme puis exécuter la commande stockée dans cette variable.
Le problème étant que le chemin peut comporter des nom de répertoire avec des espaces le tout en csh, exemple:
Soit test1.csh:
#######################
#!/bin/csh
# test1.csh
set mavar="echo"
$mavar titi
exit
#######################
L'exécution de test1.csh fonctionne bien
>test1
titi
Maintenant je copie la commande echo
>cp /usr/bin/echo /home/roger/mes' 'prog/echo
Je vérifie que la commande est bien copiée
>/home/roger/mes' 'prog/echo titi
titi
Soit test2.csh:
#######################
#!/bin/csh
set mavar="/home/roger /mes' 'prog/echo"
$mavar titi
exit
#######################
L'exécution de test2.csh provoque l'erreur suivante:
>test2
/home/roger/mes': Command not found.
Que puis je faire avec des quotes, double quotes ou des guillemets pour prendre en compte l’espace dans le chemin lors de l'exécution?
Cordialement,
Jp
Partager