Execution de commande unix contenant le `

Fermé
kko5707 Messages postés 3 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 21 mars 2006 - 21 mars 2006 à 12:52
 Fab - 23 avril 2008 à 13:57
Bonjour chèrs amis,
J'utilise des scrpits MKS unix sous windows Xp. mais je recontre des problèmes avec le caratère special la côte oblique (`).
Toutes les commandes unix contenant le caractère ` produisent des erreurs.
Par exemple l'execution de la commande:
C=`echo "\c"`

produit cette erreur:

[1] + Done(134) C=`echo "\c"`
6108 Abort sh

Merci!

3 réponses

normal à ma connaissance windows ne sais pas gerer ce caractere en ligne de commande et donc dans les script quelles que soient les couches unix ajoutés ça ne marchera pas.
seule solution :

transformer tout commande de ce style en
commande > fichier
puis variabl=contenu du fichier
suivi d'un rm du fichier.

même avec cygwin ou d'autres trucs beaucoup mieux integrés que les scripts MKS on arrive à avoir des problemes du même type. qu'on corrige comme ça.
0
kko5707 Messages postés 3 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 21 mars 2006
21 mars 2006 à 16:49
Merci beaucoup pour votre reponse. Mais je voudrais apporter une précision. En fait les scripts de ce genre marchaient sur mon poste il ya environ 3 semaines. Je ne sais pas ce qui s'est passé reellement mais depuis ce temps ces scripts ne marchent plus sur mon poste. J'ai l'impression que cela est lié au caractère set de ma machine, car ces scripts marchent parfaitement sur d'autres machines.
Merci!
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
21 mars 2006 à 13:34
Salut,

Ou alors remplace les "quotes inverses" ( `) par "$(commande...)" :
C=$(echo "\c") 
;-))
0
kko5707 Messages postés 3 Date d'inscription vendredi 5 décembre 2003 Statut Membre Dernière intervention 21 mars 2006
21 mars 2006 à 17:03
Merci pour votre reponse; J'ai suivi votre recommandation mais j'ai
toujours les mêmes erreurs. J'ai l'impression que mon système ne reconnait plus les caractères spéciaux comme:$ et autres.

$ c=$(echo "\c")
[1] + Done(134) c=$(echo "\c")
4380 Abort sh

Merci!
0
Bonjour,

Je n'ai malheureusement pas la solution a ton problème mais pour info moi
et un collègue avons le même genre de problème depuis qques semaines également.

Donc je me dis que c'est peut être lié a une mise à jour Windows.

Je continue d'investiguer. Si tu as du neuf ca m'interesse.

Merci
Fabien
0