[shell] cat + export variables
Résolu
gringo
-
gringo -
gringo -
Bonjour,
je suis un grand débutant sous linux, je bloque sur un truc peut etre bête mais bon...
dans un script je defini des variables ex: nom prenom
echo quel est ton nom
read nom
echo quel est ton prenom
read prenom
cat /path/to/bonjour.txt > path/to/presentation.txt
j'ai un fichier bonjour.txt qui contient la ligne suivante :
bonjour je m'appelle $prenom $nom
cat n'exporte pas les variables, en revanche si je fais
echo "je m'appelle $prenom $nom" > /path/to/presentation.txt
$prenom et $nom sont remplacés par les valeurs définies par le read plus haut.
puis-je utiliser cat ou dois-je me débrouiller avec echo ?
Merci
je suis un grand débutant sous linux, je bloque sur un truc peut etre bête mais bon...
dans un script je defini des variables ex: nom prenom
echo quel est ton nom
read nom
echo quel est ton prenom
read prenom
cat /path/to/bonjour.txt > path/to/presentation.txt
j'ai un fichier bonjour.txt qui contient la ligne suivante :
bonjour je m'appelle $prenom $nom
cat n'exporte pas les variables, en revanche si je fais
echo "je m'appelle $prenom $nom" > /path/to/presentation.txt
$prenom et $nom sont remplacés par les valeurs définies par le read plus haut.
puis-je utiliser cat ou dois-je me débrouiller avec echo ?
Merci
A voir également:
- [shell] cat + export variables
- Classic shell - Télécharger - Personnalisation
- Export favoris chrome - Guide
- Classic shell c'est quoi ✓ - Forum Windows 8 / 8.1
- Roissy piac export - Forum Consommation & Internet
- Colis bloqué à Roissy ✓ - Forum Consommation & Internet
4 réponses
hello
$ cat a3 bonjour $nom $prenom il fait beau au revoir $prenom $nom $ $ nom=Bon $ prenom=Jean $ $ eval "echo \"$(cat a3)\"" bonjour Bon Jean il fait beau au revoir Jean Bon $
Salut,
echo suffit
Si tu veux avec cat tu peux faire comme ça
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
echo suffit
Si tu veux avec cat tu peux faire comme ça
~ $ cat nomprenom.sh #!/bin/bash echo -n "Nom? " read nom echo -n "Prenom? " read prenom cat <<FIN > presentation.txt Bonjour, je m'appelle $nom $prenom FIN ~ $ ./nomprenom.sh Nom? AAA Prenom? titi ~ $ cat presentation.txt Bonjour, je m'appelle AAA titi
GNU/Linux:Linux is Not Ubuntu! Quel linux choisir ne veut pas dire votre Distribution préférée,
106485010510997108
je te remercie lamij20 pour cette explication.
je voudrais en fait faire quelque chose d'un peu plus complexe que cela.
je m'explique, dans mon exemple bonjour.txt est très basique et donc echo ou ta solution avec cat est tout a fait adaptée.
mais en réalité, mon fichier bonjour.txt est un peu plus complexe, il fait une 30aine de lignes.
si je dois taper tout le texte dans le script ça revient a faire un echo.
donc l'idée était un bonjour.txt qui contient $nom $prenom à certain endroits, je définie mes variables dans mon script, je fais un cat vers un fichier de sortie ou j'aurais mes 30 lignes avec les bonnes valeur pour $nom $prenom
donc j'ai essayé aussi avec une boucle while read ligne; echo $ligne >> presentation; done<bonjour
mais ça fait la même chose qu'avec cat, les variables ne sont pas remplacées par leurs valeurs alors que si j'utilise echo sans faire de boucle ça fonctionne.
j'espère que je suis suffisamment clair, et merci pour ton aide.
je voudrais en fait faire quelque chose d'un peu plus complexe que cela.
je m'explique, dans mon exemple bonjour.txt est très basique et donc echo ou ta solution avec cat est tout a fait adaptée.
mais en réalité, mon fichier bonjour.txt est un peu plus complexe, il fait une 30aine de lignes.
si je dois taper tout le texte dans le script ça revient a faire un echo.
donc l'idée était un bonjour.txt qui contient $nom $prenom à certain endroits, je définie mes variables dans mon script, je fais un cat vers un fichier de sortie ou j'aurais mes 30 lignes avec les bonnes valeur pour $nom $prenom
donc j'ai essayé aussi avec une boucle while read ligne; echo $ligne >> presentation; done<bonjour
mais ça fait la même chose qu'avec cat, les variables ne sont pas remplacées par leurs valeurs alors que si j'utilise echo sans faire de boucle ça fonctionne.
j'espère que je suis suffisamment clair, et merci pour ton aide.