Bagaimana saya bisa menulis multi-baris dalam file yang disebut myconfig.conf
menggunakan 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
, jika tidak maka tidak akan dikenali, dan Anda akan mengalami akhir kesalahan file yang tidak terduga .ini melakukan apa yang Anda inginkan.
sumber
Jika Anda tidak ingin variabel diganti, Anda harus mengelilingi EOL dengan tanda kutip tunggal.
Contoh sebelumnya:
sumber
Solusi heredoc tentu merupakan cara paling umum untuk melakukan ini. Solusi umum lainnya adalah:
dan
sumber
printf
yang memperkenalkan beberapa variasi yang lebih menarik.Mekanisme di bawah ini membantu mengarahkan beberapa baris ke file. Simpan string lengkap di bawah
"
agar kita dapat mengarahkan ulang nilai variabel.Konten
a.txt
isKonten
b.txt
issumber