GNU/Linux >> Tutoriels Linux >  >> Linux

Comment écrire une chaîne de plusieurs lignes en utilisant Bash avec des variables ?

#!/bin/bash
kernel="2.6.39";
distro="xyz";

cat > /etc/myconfig.conf << EOL
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4
line ...
EOL

cela fait ce que vous voulez.


La syntaxe (<<< ) et la commande utilisée (echo ) est faux.

Correct serait :

#!/bin/bash

kernel="2.6.39"
distro="xyz"
cat >/etc/myconfig.conf <<EOL
line 1, ${kernel}
line 2, 
line 3, ${distro}
line 4 line
... 
EOL

cat /etc/myconfig.conf

Cette construction est appelée Here Document et peut être trouvée dans les pages de manuel de Bash sous man --pager='less -p "\s*Here Documents"' bash .


Linux
  1. Comment diviser une chaîne dans un script bash

  2. Comment écrire stderr dans un fichier tout en utilisant tee avec un tuyau ?

  3. Comment lire l'avant-dernière ligne d'un fichier avec Bash ?

  4. Comment exécuter plusieurs commandes d'arrière-plan dans bash sur une seule ligne ?

  5. comment restreindre la longueur de la chaîne présente dans une ligne en utilisant Linux

Comment commenter dans Bash

Comment écrire un script bash avec des exemples

Comment lire des fichiers ligne par ligne dans Bash

Comment lire un fichier ligne par ligne dans Bash

Comment vérifier si une chaîne contient une sous-chaîne dans Bash

Comment modifier les lignes précédentes dans une commande à plusieurs lignes dans Bash ?