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.

Répondre à