Comment puis-je écrire plusieurs lignes dans un fichier appelé à l' myconfig.conf
aide de BASH?
#!/bin/bash
kernel="2.6.39";
distro="xyz";
echo <<< EOL
line 1, ${kernel}
line 2,
line 3, ${distro}
line 4
line ...
EOL >> /etc/myconfig.conf;
cat /etc/myconfig.conf;
EOF
, sinon il ne sera pas reconnu et vous rencontrerez une erreur de fin de fichier inattendue .cela fait ce que vous voulez.
la source
Si vous ne souhaitez pas que les variables soient remplacées, vous devez entourer EOL de guillemets simples.
Exemple précédent:
la source
Les solutions heredoc sont certainement la façon la plus courante de le faire. D'autres solutions courantes sont:
et
la source
printf
lequel introduit encore des variations plus intéressantes.Le mécanisme ci-dessous aide à rediriger plusieurs lignes vers un fichier. Conservez la chaîne complète sous
"
afin que nous puissions rediriger les valeurs de la variable.Contenu de
a.txt
isContenu de
b.txt
isla source