Bash Brace Expansion
Hmmm, apakah gerangan bash
brace expansion itu?
Bash
brace expansion adalah sebuah cara untuk menghasilkan string berdasar pola tertentu.
I don’t get it…
Izinkan saya untuk menjelaskan melalui contoh sebuah script bash
.
Silahkan buka GitHub gist TeleBSE, sebuah script bash
untuk mengambil tautan ke berkas PDF Buku Sekolah Elektronik. Dalam script tersebut ada beberapa baris yang mendayagunakan mekanisme bash
brace expansion, mari kita bahas satu per satu.
Yang pertama adalah:
Arti dari baris tersebut adalah: Buat map-map (folders) SD_1
, SD_2
, SD_3
, SD_4
, SD_5
, SD_6
, SMP_7
, SMP_8
, SMP_9
, SMA_10
, SMA_11
, SMA_12
, SMK_10
, SMK_11
, dan SMK12
.
Jika tanpa bash
brace expansion, maka kemungkinan perintahnya adalah sebagai berikut:
Wow! Is’t it amazing…
Jadi, bash
brace expansion menghasilkan string baru dengan pola tertentu. Dari contoh di atas:
Dikembangkan menjadi:
Mari kita lihat contoh berikutnya pada baris:
Baris for-loop ini akan menelusuri tiap map mulai dari SD_1
hingga SMK_12
.
Jika menggunakan for-loop biasa, perintahnya adalah sebagai berikut:
Lihat bagaimana bash
brace expansion bisa menyederhanakan script kita.
Dari dua contoh di atas kiranya kita dapat memahami kegunaan bash
brace expansion. Misal, untuk menyingkat dan menyederhanakan script dan mengurangi gerak jari dalam mengetik baris perintah.
Misal, kita hendak merubah nama atau memindahkan suatu berkas yang memiliki path yang panjang:
Lumayan panjang kan? Meski menggunakan bash-completion
pun akan tetap membosankan. Di sini kita bisa menggunakan bantuan bash
brace expansion:
Mencadangkan sebuah berkas dengan cara menyalin dan memberi akhiran -bak
pada namanya?
Hendak mengembalikan berkas myscript.sh-bak
kembali menjadi myscript.sh
?
Demikian artikel hari ini, semoga bermanfaat…