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 ngetik
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 ngetik
saya sedang ngoding
ini baris ketiga script
hari ini tanggal $tgl

Leave a comment

Your email address will not be published. Required fields are marked *