ID (Indonesia) Translation

Unix / Linux - Mekanisme Petik Shell

Halo, para programer calon! Hari ini, kita akan mendalami dunia yang menarik dari mekanisme petik di Unix dan Linux. Sebagai guru komputer yang ramah di lingkungan tetangga Anda, saya disini untuk mengajak Anda dalam perjalanan ini, langkah demi langkah. Jangan khawatir jika Anda belum pernah memrogram sebelumnya - kita akan mulai dari dasar dan naik tingkatannya. Jadi, ambillah secangkir kopi (atau teh, jika itu hal yang Anda sukai), dan mari kita mulai!

Unix / Linux - Quoting Mechanisms

Karakter Meta

Sebelum kita masuk ke petik, kita perlu memahami apa itu karakter meta. Di shell, karakter meta adalah karakter khusus yang memiliki arti unik. Mereka seperti rempah-rempah dalam masakan favorit Anda - sedikitpun jauh!

Berikut adalah tabel karakter meta umum:

Karakter Meta Arti
* Wildcard (cocok dengan sejumlah karakter apapun)
? Wildcard (cocok dengan karakter tunggal apapun)
> Redireksi output
< Redireksi input
& Jalankan perintah di latar belakang
; Pemisah perintah
() Grup perintah
[] Kelas karakter

mari lihat contoh:

ls *.txt

Dalam perintah ini, * adalah karakter meta. Itu memberitahu shell untuk mencantumkan semua file yang berakhir dengan .txt. Bagus kan?

Tapi apa jika kita benar-benar ingin menggunakan karakter ini sebagai karakter biasa? Itu adalah tempat petik memasuki panggung!

Petik Tunggal

Petik tunggal adalah bentuk petik yang paling sederhana. Mereka memberitahu shell untuk memperlakukan semua hal di dalamnya sebagai karakter literal. Itu seperti memasukkan kata-kata Anda ke dalam gelembung perlindungan!

mari coba contoh:

echo 'The * is a wildcard character'

Output:

The * is a wildcard character

Lihat itu? * tidak diperluas untuk mencantumkan semua file. Itu diperlakukan sebagai karakter biasa.

Petik tunggal sangat baik saat Anda ingin menjaga nilai literal setiap karakter dalam string. Bahkan karakter petik lain kehilangan maknanya di dalam petik tunggal!

echo 'This is a $VARIABLE with "double quotes" inside'

Output:

This is a $VARIABLE with "double quotes" inside

Semua hal di dalam petik tunggal dicetak tepat seperti itu. Tidak ada substitusi, tidak ada interpretasi. Hanya teks murni dan tak terganggu!

Petik Ganda

Petik ganda lebih fleksibel daripada saudara petik tunggal mereka. Mereka menjaga nilai literal kebanyakan karakter, tetapi masih memungkinkan beberapa substitusi. Itu seperti permukaan semi-permeabel untuk teks Anda!

Berikut adalah apa yang diijinkan petik ganda:

  1. Substitusi variabel
  2. Substitusi perintah
  3. Penyimbangan backslash

mari lihat beberapa contoh:

NAME="Alice"
echo "Hello, $NAME!"

Output:

Hello, Alice!

Variabel $NAME digantikan dengan nilainya. Magic!

Sekarang, mari coba substitusi perintah:

echo "Today's date is $(date)"

Output:

Today's date is Tue May 23 10:30:45 PDT 2023

Bagian $(date) diganti dengan output perintah date. Apakah itu menarik?

Tetapi ingat, beberapa karakter masih menjaga maknanya khusus di dalam petik ganda:

echo "This is a newline: \n And this is a tab: \t"

Output:

This is a newline:
And this is a tab:

\n dan \t diinterpretasikan sebagai baris baru dan tab masing-masing.

Petik Kembali

Petik kembali, juga dikenal sebagai backticks, adalah bentuk substitusi perintah yang lebih tua. Mereka seperti pelancong waktu dari hari-hari awal Unix!

mari lihat bagaimana mereka bekerja:

echo "The current directory contains `ls | wc -l` files"

Output:

The current directory contains 42 files

Perintah antara petik kembali (ls | wc -l) dieksekusi, dan outputnya digantikan ke dalam string.

Meskipun petik kembali masih berfungsi, sintaks $() yang lebih modern biasanya lebih disukai:

echo "The current directory contains $(ls | wc -l) files"

Ini melakukan hal yang sama tetapi lebih mudah untuk disembunyikan dan, menurut pendapat saya, lebih mudah untuk dibaca. Itu seperti upgrading dari telepon flip ke smartphone - fungsinya dasar tetap sama, tetapi jauh lebih ramah pengguna!

Menggabungkan Semua

Sekarang kita telah mengeksplorasi semua mekanisme petik ini, mari gabungkan mereka dalam skrip kecil yang menyenangkan:

#!/bin/bash

NAME="World"
GREETING='Hello'
DATE=$(date +"%A, %B %d, %Y")

echo "$GREETING, $NAME!"
echo 'Today is not actually $DATE'
echo "But for real, today is $DATE"
echo "There are `ls | wc -l` files in this directory"

Jika kita menjalankan skrip ini, kita mungkin mendapatkan output seperti ini:

Hello, World!
Today is not actually $DATE
But for real, today is Tuesday, May 23, 2023
There are 42 files in this directory

Anda bisa melihat bagaimana setiap jenis petik mempengaruhi output? Petik tunggal menjaga semua hal secara literal, petik ganda memungkinkan substitusi, dan petik kembali (atau $()) melakukan substitusi perintah.

Dan itu adalah, teman-teman! Anda baru saja mengambil langkah pertama Anda ke dunia mekanisme petik shell. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba konsep ini. Sebelum Anda tahu, Anda akan mengetik seperti seorang ahli!

Happy coding, dan may the shell be with you! ??

Credits: Image by storyset