Unix / Linux - Shell Substitutions
Hai, para pemrogram yang sedang belajar! Hari ini, kita akan mendalami dunia yang menarik tentang Substitusi Shell di Unix dan Linux. Jangan khawatir jika Anda baru dalam pemrograman - saya akan mengorbit Anda melalui topik ini langkah demi langkah, seperti yang saya lakukan untuk ribuan siswa selama tahun-tahun mengajar saya. Jadi, mari kita mulai perjalanan menarik ini bersama!
Apa Itu Substitusi?
Sebelum kita masuk ke hal yang mendalam, mari kita pahami apa yang dimaksud substitusi dalam konteks pemrograman shell.
Substitusi adalah seperti trik magik di shell. Ini adalah saat shell mengganti satu bagian teks dengan yang lain sebelum menjalankan perintah. Bayangkan Anda sedang memasak kue, dan resep memanggil "1 cangkir gula." Tetapi Anda habiskan gula! Jadi, Anda memutuskan untuk menggunakan madu sebagai pengganti. Itu sebenarnya apa yang dilakukan substitusi - mengganti satu bahan (atau dalam kasus kita, sebagian teks) dengan yang lain.
Dalam pemrograman shell, kita memiliki tiga jenis substitusi utama:
- Substitusi Perintah
- Substitusi Variabel
- Substitusi Aritmetik
Kita akan fokus pada yang pertama dan kedua dalam panduan ini. Mari kita mulai dengan Substitusi Perintah!
Substitusi Perintah
Apa Itu Substitusi Perintah?
Substitusi perintah adalah fitur yang memungkinkan Anda menggunakan output dari suatu perintah sebagai argumen untuk perintah lain. Itu seperti memiliki asisten yang membantu menjalankan perintah untuk Anda dan kemudian memberitahu Anda hasilnya di telinga Anda, yang Anda bisa gunakan dalam perintah utama Anda.
Cara Melakukan Substitusi Perintah
Ada dua cara untuk melakukan substitusi perintah:
- Menggunakan tanda backtick (`)
- Menggunakan sintaks
$()
(metode yang disukai)
Mari kita lihat beberapa contoh untuk memahami ini lebih baik.
Contoh 1: Menggunakan backtick
current_date=`date`
echo "Today's date is: $current_date"
Ketika Anda menjalankan skrip ini, itu akan mengeluarkan sesuatu seperti:
Today's date is: Mon May 15 10:30:45 EDT 2023
Apa yang terjadi disini? Shell menjalankan perintah date
, menangkap outputnya, dan kemudian menggunakan output itu sebagai nilai untuk variabel current_date
.
Contoh 2: Menggunakan sintaks $()
files_count=$(ls | wc -l)
echo "There are $files_count files in the current directory."
Skrip ini akan menghitung jumlah file dalam direktori saat ini dan mengeluarkan sesuatu seperti:
There are 15 files in the current directory.
Dalam contoh ini, shell pertama-tama menjalankan perintah ls
untuk membuat daftar semua file, pipa (|) output itu ke wc -l
yang menghitung baris, dan kemudian mengassign hasilnya ke variabel files_count
.
Mengapa Menggunakan Substitusi Perintah?
Substitusi perintah sangat berguna ketika Anda perlu menggunakan hasil dari suatu perintah sebagai bagian dari perintah lain atau untuk mengassign ke variabel. Itu seperti memiliki pisau multitugas di dalam kitab pemrograman Anda!
Substitusi Variabel
Sekarang, mari kita pindah ke Substitusi Variabel. Ini adalah fitur yang kuat yang memungkinkan Anda menggunakan nilai variabel dalam skrip Anda.
Apa Itu Substitusi Variabel?
Substitusi variabel adalah saat shell mengganti nama variabel dengan nilainya. Itu seperti memiliki nama panggilan untuk seseorang - ketika Anda menggunakan nama panggilan itu, semua orang tahu Anda merujuk kepada orang itu.
Cara Melakukan Substitusi Variabel
Untuk melakukan substitusi variabel, Anda hanya perlu menggunakan nama variabel diikuti oleh tanda dollar ($).
Contoh 1: Substitusi Variabel Dasar
name="Alice"
echo "Hello, $name!"
Output:
Hello, Alice!
Di sini, shell mengganti $name
dengan nilainya, "Alice".
Contoh 2: Menggunakan Kurung Kurawal
kadang-kadang, Anda perlu menggunakan kurung kurawal {} untuk menentukan dengan jelas di mana nama variabel berakhir.
fruit="apple"
echo "I like ${fruit}s"
Output:
I like apples
Tanpa kurung kurawal, shell akan mencari variabel fruits
, yang tidak ada.
Teknik Substitusi Variabel Lanjut
Mari kita lihat beberapa teknik lanjut:
1. Nilai Default
Anda dapat menyediakan nilai default untuk variabel jika itu belum diatur:
echo "Hello, ${name:-World}!"
Jika name
belum diatur, itu akan mengeluarkan:
Hello, World!
2. Assign Nilai Default
Anda dapat memberikan nilai default ke variabel jika itu belum diatur:
echo "Hello, ${name:=World}!"
echo $name
Output:
Hello, World!
World
3. Tampilkan Pesan Error jika Tidak Diatur
Anda dapat menampilkan pesan error jika variabel belum diatur:
echo "Hello, ${name:?'Name is not set'}"
Jika name
belum diatur, itu akan menampilkan error:
bash: name: Name is not set
Berikut adalah tabel yang menggabungkan teknik-teknik ini:
Sintaks | Deskripsi | Contoh |
---|---|---|
${var:-word} | Jika var kosong atau belum diatur, word digantikan. | ${name:-World} |
${var:=word} | Jika var kosong atau belum diatur, var diatur ke word. | ${name:=World} |
${var:?message} | Jika var kosong atau belum diatur, pesan ditampilkan ke stderr. | ${name:?'Name is not set'} |
${var:+word} | Jika var diatur, word digantikan. Kalau tidak, tidak ada yang digantikan. | ${name:+Hello} |
Ingat, latihan membuat sempurna! Jangan takut untuk mencoba substitusi ini dalam skrip Anda sendiri. Itu seperti belajar menunggang sepeda - mungkin terlihat sulit pertama kali, tapi sekali Anda mendapat kesan, Anda akan berpacu dengan cepat!
Dalam kesimpulan, substitusi shell adalah tools yang kuat yang dapat membuat skrip Anda lebih dinamis dan fleksibel. Mereka memungkinkan Anda untuk menggunakan output perintah dan nilai variabel dalam cara yang kreatif. Sementara Anda terus melanjutkan perjalanan Anda dalam pemrograman shell, Anda akan menemukan diri Anda menggunakan teknik-teknik ini semakin banyak.
Selamat coding, dan ingat - di dunia pemrograman, kecurigaan adalah teman terbaik Anda!
Credits: Image by storyset