On Thursday 22 November 2001 11:32, Salamin Florian wrote: > Hello, > > J'ai un fichier texte mon_fichier.txt qui contient quelque chose comme ça: > ${TOTO} de caractères > > ensuite je fais > # setenv TOTO "une chaine" > # echo "`cat mon_fichier.txt`" > > et j'obtiens > > # ${TOTO} de caractères > > alors que j'aimerai obtenir > > # une chaine de caractères
Si j'ai bien compris, je pense que tu as oubliés de mettre à la première ligne de ton fichier : #!/usr/bin/csh EN plus, en faisant celà, to vas certainement recevoir le messages d'erreur : une: file not found Ceci parceque le contenu du fichier sera interprété par le csh et que après la substitution de TOTO, il essaiera d 'executer la commande : une chaine ... Donc, crée le fichier suivant (mon_fichier.txt) #!/usr/bin/csh echo "${TOTO} de caractère" # Fin du fichier Ensuite, tape : prompt > chmod 755 mon_fichier.txt prompt > setenv TOTO "une chaine" promtp > mon_fichier.txt une chaine de caractère prompt > Tu aurais aussi pu faire : csh mon_fichier.txt Ceci, sans qu'il soit nécessaire de rajouter cette première ligne et de faire un chmod. Mais, bon, ceci est un exemple pour te permettre d'éxécuter un "fichier" contenant des commandes shell. Dans ton exemple tu fais : echo "`cat mon_fichier.txt" maintenant tu peux faire : echo "`mon_fichier.txt`" L'usage de la commande cat ne fait que copier le CONTENU du fichier ver stdout. Ceci, sans qu'il y ait d'interprétation de son contenu. Dans mon exemple, je suprime aussi l'usage de "echo" et des ``. Le résultat est exactement le même. Ai-je répondu à ta question ? Daniel -- http://www-internal.alphanet.ch/linux-leman/ avant de poser une question. Ouais, pour se désabonner aussi.