Kalo sering berinteraksi dengan shell script kita pasti menemui kebutuhan untuk menyimpan beberapa baris konfigurasi, sebagai contoh bila kita ingin membuat script untuk otomatis membackup database MySQL pasti banyak baris konfigurasi yang kita buat. Tapi contoh kasus disini kita tidak akan membuat script tersebut karena sudah ada di Script Backup MySQL dan File-File Web dengan Bash.
Saya akan memberikan contoh sederhana saja. Jika hanya menyimpan satu baris string bisa dengan
// script.sh echo 'Isi File Konfigurasi' > /home/jaranguda/linux.conf
penggunaan echo
untuk mengcopy beberapa baris menjadi sulit untuk di maintenance, contoh sederhana
// script.sh echo 'saya sedang ngetik > saya sedang ngoding > ini baris ketiga script' > /home/jaranguda/linux.conf
Cara yang lebih mudah dan rapi adalah menggunakan cat
// script.sh cat >/home/jaranguda/linux.conf <<EOL saya sedang ngetik saya sedang ngoding ini baris ketiga script EOL
cara diatas tidak bisa digunakan bila anda ingin menyimpan variabel, variabelnya akan langsung dieksekusi
// script.sh tgl=$(date +%Y-%m-%d) cat >/home/jaranguda/linux.conf <<EOL saya sedang ngetik saya sedang ngoding ini baris ketiga script hari ini tanggal $tgl EOL
output perintah diatas cat /home/jaranguda/linux.conf
saya sedang ngoding
ini baris ketiga script
hari ini tanggal 2019-06-26
tanggal langsung ditampilkan, solusinya ubah script.sh
diatas menjadi
// script.sh tgl=$(date +%Y-%m-%d) cat >/home/jaranguda/linux.conf <<'EOL' saya sedang ngetik saya sedang ngoding ini baris ketiga script hari ini tanggal $tgl EOL
perhatikan tanda petik tunggal/satu (single qoute) di EOL
, jalankan kembali script.sh
, cat /home/jaranguda/linux.conf
saya sedang ngoding
ini baris ketiga script
hari ini tanggal $tgl