Wie kann ich mehrere Zeilen in eine Datei schreiben, die myconfig.conf
mit BASH aufgerufen wird?
#!/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
, da es sonst nicht erkannt wird und ein unerwarteter Fehler am Ende der Datei auftritt.das macht was du willst.
quelle
Wenn Sie nicht möchten, dass Variablen ersetzt werden, müssen Sie EOL in einfache Anführungszeichen setzen.
Vorheriges Beispiel:
quelle
Die Heredoc-Lösungen sind sicherlich der häufigste Weg, dies zu tun. Andere gängige Lösungen sind:
und
quelle
printf
was noch einige weitere interessante Variationen einführt.Der folgende Mechanismus hilft beim Umleiten mehrerer Zeilen in eine Datei. Behalten Sie die vollständige Zeichenfolge unter,
"
damit wir die Werte der Variablen umleiten können.Inhalt von
a.txt
istInhalt von
b.txt
istquelle