0Pricing
Linux Command Line & Bash Scripting Mastery · Pelajaran

Argumen dan Opsi Skrip ($@, $#, getopts)

Pelajari cara meneruskan argumen ke skrip dan mengurai opsi baris perintah menggunakan variabel khusus dan 'getopts'.

Argumen dan Opsi Skrip ($@, $#, getopts) adalah pelajaran Linux Command Line & Bash Scripting Mastery gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Linux Command Line & Bash Scripting Mastery, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Linux Command Line & Bash Scripting Mastery mencakup 4 pelajaran total.

Argumen Skrip: Mengapa Menggunakannya?

Pernahkah Anda menggunakan perintah seperti ls -l atau cp file1 file2? -l, file1, dan file2 semuanya adalah argumen! Argumen tersebut memberi tahu perintah apa yang harus dilakukan atau terhadap apa perintah itu diterapkan.

Dalam pembuatan skrip Bash, argumen membuat skrip Anda lebih fleksibel. Alih-alih menetapkan nilai secara permanen, skrip dapat menerima masukan langsung dari baris perintah saat dijalankan.

Mengakses Argumen Posisional

Saat Anda menjalankan skrip dengan argumen, Bash secara otomatis menetapkannya ke variabel khusus yang disebut parameter posisional.

  • Argumen pertama adalah $1.
  • Argumen kedua adalah $2.
  • Dan seterusnya, hingga $9.

Untuk argumen setelah argumen kesembilan, gunakan kurung kurawal seperti ${10}, ${11}, dan seterusnya. Variabel-variabel ini menyimpan nilai yang diteruskan ke skrip Anda.

Demo: Argumen Posisi

Mari lihat cara mengakses argumen ini dalam skrip. Simpan sebagai greet.sh dan jalankan dengan ./greet.sh Alice Bob.

#!/bin/bash

echo "Hello, $1!"
echo "Welcome, $2."
echo "The third argument (if any) is: $3"

`$0` dan `$#`: Informasi Skrip

Bash menyediakan beberapa variabel khusus lain yang memberi Anda informasi tentang skrip itu sendiri dan argumennya:

  • $0: Menyimpan nama skrip yang sedang dijalankan. Ini berguna untuk pesan kesalahan atau pencatatan.
  • $#: Variabel ini berisi jumlah total argumen posisional yang diteruskan ke skrip.

Variabel-variabel ini membantu membuat skrip Anda lebih andal dan mudah digunakan.

Demo: `$0` dan `$#`

Jalankan skrip ini dengan jumlah argumen yang berbeda, misalnya ./info.sh one two three atau cukup ./info.sh.

#!/bin/bash

echo "Script name: $0"
echo "Number of arguments received: $#"

`$@` vs `$*`: Semua Argumen

Terkadang Anda perlu merujuk semua argumen sekaligus. Bash menyediakan dua cara:

  • $@: Diperluas menjadi argumen-argumen terpisah. Saat diberi tanda kutip ganda ("$@"), setiap argumen tetap menjadi kata yang berbeda, meskipun mengandung spasi. Cara ini biasanya lebih disukai untuk perulangan.
  • $*: Diperluas menjadi satu string yang berisi semua argumen. Saat diberi tanda kutip ganda ("$*"), semua argumen digabungkan menjadi satu kata, dipisahkan oleh karakter pertama dari IFS (Pemisah Bidang Internal, biasanya spasi).

Selalu gunakan "$@" saat mengiterasi argumen agar spasi tetap dipertahankan!

Demo: Melakukan Perulangan dengan `"$@"`

Skrip ini menunjukkan cara "$@" menangani argumen yang mengandung spasi dengan benar. Jalankan seperti ini: ./loop_args.sh hello "world wide" web

#!/bin/bash

echo "Processing arguments with \"$@\":"
for arg in "$@"; do
  echo "  Argument: [$arg]"
done

echo "\nProcessing arguments with \"$*\":"
for arg in "$*"; do
  echo "  Argument: [$arg]"
done

Opsi: Melampaui Argumen Posisi

Argumen posisional sangat baik untuk kasus sederhana, tetapi bagaimana jika skrip Anda memerlukan opsi opsional atau parameter bernama, seperti -v untuk keluaran mendetail atau -f filename?

Di sinilah opsi baris perintah berperan. Opsi ini membuat skrip lebih fleksibel dan mudah digunakan, serta memungkinkan pengguna menentukan pengaturan dalam urutan apa pun.

Bash menyediakan perintah getopts khusus untuk mengurai jenis opsi tersebut.

Sintaks `getopts`: `optstring`

Sintaks dasar getopts adalah: getopts optstring variable.

  • optstring: String karakter opsi yang valid. Jika suatu opsi memerlukan argumen (seperti -f filename), ikuti karakter tersebut dengan titik dua (misalnya, f:).
  • variable: Nama variabel tempat getopts menyimpan karakter opsi yang sedang diproses (misalnya, opt).

getopts juga menetapkan OPTARG untuk argumen opsi dan OPTIND untuk indeks argumen berikutnya.

Demo: `getopts` Dasar

Skrip ini memproses opsi -v (keluaran mendetail) dan -f (berkas). Coba jalankan: ./options.sh -v -f mydata.txt -x atau ./options.sh -vf mydata.txt

#!/bin/bash

while getopts "vf:" opt; do
  case $opt in
    v)
      echo "Verbose mode enabled."
      ;;
    f)
      echo "File specified: $OPTARG"
      ;;
    \?)
      echo "Invalid option: -$OPTARG" >&2
      ;;
  esac
done

Pemeriksaan Singkat: Variabel Argumen

Perhatikan skrip berikut dan cara menjalankannya:

#!/bin/bash
echo "Script: $0"
echo "Count: $#"
for arg in "$@"; do
  echo "Arg: $arg"
done

Jika Anda menjalankan: ./myscript.sh "Hello World" 123

Apa keluarannya?

Ringkasan: Argumen & Opsi

Kerja bagus! Anda telah mempelajari cara membuat skrip Bash jauh lebih serbaguna:

  • Argumen Posisi: Gunakan $1, $2, dan seterusnya untuk mengakses argumen secara langsung.
  • Variabel Khusus: $0 untuk nama skrip, $# untuk jumlah argumen, dan "$@" untuk mengiterasi semua argumen dengan aman.
  • Opsi Baris Perintah: Gunakan getopts untuk mengurai opsi bernama (seperti -v) beserta argumennya (-f filename), sehingga skrip Anda lebih andal dan mudah digunakan.

Berlatihlah menggunakan semua ini dalam skrip Anda sendiri untuk membuat alat baris perintah yang andal dan fleksibel!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Argumen dan Opsi Skrip ($@, $#, getopts)” gratis?

Ya — teks lengkap “Argumen dan Opsi Skrip ($@, $#, getopts)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Linux Command Line & Bash Scripting Mastery, upgrade ke CoddyKit PRO. Kursus Linux Command Line & Bash Scripting Mastery mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Argumen dan Opsi Skrip ($@, $#, getopts)”?

Pelajari cara meneruskan argumen ke skrip dan mengurai opsi baris perintah menggunakan variabel khusus dan 'getopts'. Kamu berlatih Linux Command Line & Bash Scripting Mastery dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Linux Command Line & Bash Scripting Mastery?

Tidak diperlukan pengalaman sebelumnya. Linux Command Line & Bash Scripting Mastery di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Argumen dan Opsi Skrip ($@, $#, getopts)” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Linux Command Line & Bash Scripting Mastery ini?

Ya. Setiap pelajaran Linux Command Line & Bash Scripting Mastery menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konstruksi Perulangan (for, while)
  2. Fungsi dalam Skrip Bash
  3. Argumen dan Opsi Skrip ($@, $#, getopts)
  4. Pernyataan case & Pencocokan Pola
← Kembali ke Linux Command Line & Bash Scripting Mastery