142 votes

Shell - Écriture du contenu des variables dans un fichier

Je voudrais copier le contenu d'une variable (ici appelée var ) dans un fichier.

Le nom du fichier est stocké dans une autre variable destfile .

J'ai des difficultés à le faire. Voici ce que j'ai essayé :

cp $var $destfile

J'ai aussi essayé la même chose avec la commande dd... De toute évidence, le shell a pensé que $var faisait référence à un répertoire et m'a donc dit que le répertoire ne pouvait pas être trouvé.

Comment puis-je contourner ce problème ?

0voto

David W. Points 49436

Lorsque vous dites "copier le contenu d'une variable", cette variable contient-elle un nom de fichier, ou contient-elle un nom de fichier ?

Je suppose par votre question que $var contient le contenu que vous voulez copier dans le fichier :

$ echo "$var" > "$destdir"

Ceci va renvoyer la valeur de $var dans un fichier appelé $destdir. Notez les guillemets. Il est très important que "$var" soit entre guillemets. Il en va de même pour "$destdir" s'il y a un espace dans le nom. Pour l'ajouter :

$ echo "$var" >> "$destdir"

0voto

Thykof Points 760

Vous pouvez avoir besoin de modifier un fichier de conf dans un processus de construction :

echo "db-url-host=$POSTGRESQL_HOST" >> my-service.conf

Vous pouvez tester cette solution en exécutant avant export POSTGRESQL_HOST="localhost"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X