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!

Unix / Linux - Shell Substitutions

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:

  1. Substitusi Perintah
  2. Substitusi Variabel
  3. 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:

  1. Menggunakan tanda backtick (`)
  2. 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