Lewati ke konten utama

Cara Menulis Skrip Bash: Tutorial Lengkap Bash Scripting

Tulis skrip bash pertama Anda dan pelajari hal-hal penting: variabel, fungsi, loop, dan kondisional dengan contoh kode yang berfungsi.
· 5 mnt Baca

Jelajahi bersama AI

Shell adalah sejenis program komputer yang menyajikan antarmuka ke sistem operasi. Nama shell berasal dari kenyataan bahwa ia merupakan lapisan terluar merupakan lapisan terluar yang mengelilingi sistem operasi.

Untuk mengelola interaksi antara pengguna dan sistem operasi, shell meminta masukan lalu menafsirkannya untuk sistem operasi sebelum menangani keluaran yang diterima. Masukan ini dapat diberikan melalui command line interface (CLI) atau graphical user interface (GUI), bergantung pada operasi dan peran yang diambil komputer.

Pada dasarnya, shell memungkinkan pengguna dan program lain berkomunikasi langsung dengan komponen-komponen sistem operasi.

Ringkasnya

  • Skrip bash adalah berkas teks biasa dengan ekstensi .sh yang berisi serangkaian perintah shell
  • Setiap skrip dimulai dengan baris shebang: #!/bin/bash
  • Buat berkas, tambahkan perintah, dan jalankan dengan bash script.sh, atau buat dapat dieksekusi dengan chmod +x script.sh dan jalankan sebagai ./script.sh
  • Bash mendukung variabel, input pengguna, fungsi, loop (for/while), dan kondisional (if/else)
  • Kasus penggunaan umum: otomatisasi tugas, manipulasi berkas, administrasi sistem, dan pipeline CI/CD

Pengantar Shell Scripting

Shell scripting adalah bagian penting dari komunikasi dengan sistem operasi komputer, dan keterampilan berharga bagi pengembang, administrator sistem, serta data engineer. Yang dimaksud dengan scripting adalah serangkaian perintah shell dan sistem operasi yang ditulis lalu disimpan di dalam berkas: operasi umum yang dilakukan skrip shell mencakup tugas seperti manipulasi berkas, mengeksekusi program, dan mencetak teks.

Mempelajari prosedur sederhana ini dapat menghemat banyak waktu pengembangan karena perintah tertentu tidak perlu diketik berulang-ulang secara manual — bahkan skrip bisa dijadwalkan untuk dijalankan secara otomatis.

Ada beberapa shell berbeda yang tersedia bagi pengguna Unix dan Linux. Untuk sisa tutorial ini, kita akan berfokus khusus pada Bourne Again SHell (bash), yang merupakan versi peningkatan dari Bourne shell dan salah satu command line interface paling umum untuk sistem operasi berbasis Unix (termasuk Linux).

Baru di command line? Mulailah dengan kursus Introduction to Shell untuk membangun dasar Anda sebelum mendalami bash scripting.

Apa itu Skrip Bash?

Bash adalah antarmuka baris perintah Unix yang bertugas berinteraksi dengan sistem operasi komputer. Serupa dengan naskah film yang memberi tahu aktor tindakan yang harus dilakukan, skrip bash memberi tahu shell bash apa yang harus dikerjakan. Jadi, skrip bash adalah cara yang berguna untuk mengelompokkan perintah guna membuat sebuah program.

Setiap perintah yang bisa Anda jalankan langsung dari command line dapat dimasukkan ke dalam skrip bash, dan Anda dapat mengharapkan tindakan yang sama seperti saat dijalankan dari command line. Sebaliknya, setiap perintah yang Anda masukkan ke dalam skrip bash bisa dijalankan langsung dari command line, dan hasilnya akan sama. Dengan kata lain, jika Anda tahu cara berinteraksi dengan komputer melalui command line, Anda sudah cukup paham tentang bash scripting.

Salah satu perbedaan utama adalah skrip bash merupakan berkas teks biasa yang secara konvensi disimpan dengan ekstensi .sh (skrip tetap bisa dijalankan tanpa ekstensi .sh).

Pembedaan lain dari skrip bash adalah “shebang” yang muncul pada baris pertama semua skrip. Intinya, shebang adalah path absolut ke interpreter bash yang tersusun dari tanda pagar “#” dan tanda seru “!” diikuti path shell bash. Ini digunakan untuk memberi tahu sistem operasi Linux interpreter mana yang harus digunakan untuk mengurai berkas.

Prasyarat

Sebelum mengikuti tutorial ini, saya merekomendasikan untuk memiliki:

  • Sistem operasi berbasis Unix (Linux atau macOS), atau Windows dengan Git Bash atau Windows Subsystem for Linux (WSL) terpasang
  • Dasar-dasar bernavigasi di terminal (membuka terminal, menampilkan daftar berkas dengan ls, berpindah direktori dengan cd)
  • Editor teks seperti nano, vim, atau VS Code untuk menulis isi skrip

Cara Menulis Skrip Bash

Kita akan membuat contoh skrip bash “Hello World” sederhana untuk memulai Anda dengan bash scripting. Jika Anda ingin menggali lebih dalam, lihat kursus Introduction to Bash Scripting.

Langkah 1: Buat berkas teks biasa baru

Langkah pertama adalah membuat berkas teks biasa baru dengan ekstensi .sh. Di Linux atau macOS, jalankan perintah berikut dari terminal Anda:

touch hello_world.sh

Di Windows, Anda bisa menggunakan Git Bash atau Windows Subsystem for Linux (WSL) — keduanya mendukung perintah touch yang sama. Atau, buat berkas di editor teks apa pun (VS Code, Notepad, nano) dan simpan dengan ekstensi .sh.

Langkah 2: Menentukan interpreter

Pada baris pertama skrip, kita harus menentukan interpreter mana yang akan digunakan untuk mengurai skrip. Dalam skenario ini, Bash. Jadi, kita harus menuliskan shebang pada baris pertama skrip.

#!/bin/bash

Langkah 3: Mengimplementasikan perintah

Tujuan skrip bash kita adalah mencetak “Hello World!” Untuk melakukan tugas ini, pindah ke baris baru dan gunakan perintah echo diikuti string yang ingin kita cetak.

echo "Hello World!" 

Setelah selesai, simpan berkas dan buka Git Bash Anda.

Catatan: Anda dapat mengunduh Git Bash dari Git downloads. Cukup pilih versi Git yang sesuai dengan sistem operasi Anda.

Selanjutnya, jalankan perintah berikut:

bash hello_world.sh

Ini seharusnya menghasilkan keluaran “Hello World!” seperti terlihat pada Gambar 1.

Pemanggilan skrip bash mengembalikan “Hello World!” di terminal.

Gambar 1: Keluaran skrip Bash kita

Langkah 4: Jadikan skrip dapat dieksekusi

Alih-alih selalu memberi awalan skrip dengan perintah bash, Anda dapat membuat skrip dapat dieksekusi langsung menggunakan chmod:

chmod +x hello_world.sh
./hello_world.sh

Perintah chmod +x memberikan izin eksekusi ke berkas. Awalan ./ memberi tahu shell untuk menjalankan skrip dari direktori saat ini. Ini adalah cara standar untuk mendistribusikan dan menjalankan skrip bash di produksi — sebagian besar skrip yang Anda temui akan dijalankan dengan cara ini.

Cara Menangkap Input Pengguna dalam Skrip Bash

Sekarang Anda tahu cara menulis skrip “Hello World!” sederhana. Mari kita lihat bagaimana kita dapat menggunakan bash untuk menulis skrip yang memerlukan input dari pengguna. Dalam contoh ini, kita akan membuat generator aktivitas, yang akan menanyakan nama pengguna dan kemudian memilih aktivitas acak untuk mengundang pengguna berpartisipasi dari sebuah array aktivitas.

Langkah-langkah untuk membuat berkas sama seperti di bagian Cara Menulis Skrip Bash – perbedaannya adalah perintah yang kita masukkan ke dalam skrip bash.

  1. Buat berkas teks biasa baru dari terminal.
touch generate-activity.sh
  1. Tentukan interpreter bash dengan memasukkan shebang pada baris pertama skrip.
#!/bin/bash
  1. Tulis perintah untuk menjalankan skrip lalu simpan berkas.

Sekarang ketika kita memanggil skrip bash dari terminal, kita seharusnya melihat keluaran yang sama seperti pada Gambar 2.

#!/bin/bash

# Greet user and request their name
echo "The activity generator"
read -p "What is your name? " name

# Create an array of activities
activity[0]="Football"
activity[1]="Table Tennis"
activity[2]="8 Ball Pool"
activity[3]="PS5"
activity[4]="Blackjack"

array_length=${#activity[@]} # Store the length of the array
index=$(($RANDOM % $array_length)) # Randomly select an index from 0 to array_length

# Invite the user to join you participate in an activity
echo "Hi" $name, "would you like to play" ${activity[$index]}"?"
read -p "Answer: " answer

Mendemonstrasikan skrip generate-activityshGambar 2: Mendemonstrasikan skrip generate-activity.sh.

Bekerja dengan Variabel dalam Skrip Bash

Variabel menyimpan data yang dapat dirujuk dan digunakan kembali di seluruh skrip. Untuk mendefinisikan variabel, tetapkan nilai tanpa spasi di sekitar tanda =. Akses nilainya dengan menambahkan awalan $ pada namanya:

#!/bin/bash

# Define variables
greeting="Hello"
user_name="Alice"
current_year=$(date +%Y)  # Command substitution

# Use variables
echo "$greeting, $user_name!"
echo "The current year is $current_year."

Aturan utama untuk variabel bash:

  • Nama variabel peka huruf besar/kecil: name dan NAME adalah variabel yang berbeda
  • Tidak boleh ada spasi di sekitar tanda = saat menetapkan nilai
  • Gunakan $(command) untuk substitusi perintah guna menangkap keluaran perintah ke dalam variabel
  • Bungkus variabel dengan tanda kutip ganda ("$var") untuk menangani nilai yang berisi spasi dengan aman

Cara Membuat Fungsi dalam Skrip Bash

Dalam pemrograman, fungsi digunakan untuk menggabungkan sekumpulan instruksi berulang — pelajari lebih lanjut tentang Fungsi di Python. Tujuan menulis fungsi adalah menghindari penulisan kode yang sama terus-menerus, sekaligus membuat kode Anda lebih mudah dibaca.

Fungsi bash dapat dianggap sebagai fungsi pada umumnya: sekumpulan perintah yang bisa dipanggil beberapa kali. Namun, fungsi bash agak lebih terbatas dibanding mayoritas bahasa pemrograman (misalnya, fungsi bash tidak memungkinkan Anda mengembalikan nilai saat dipanggil).

Sebelum kita membuat skrip bash menggunakan fungsi, mari lihat sintaks untuk mendeklarasikan fungsi bash. Kita bisa mendefinisikan fungsi dengan menulis nama fungsi, diikuti tanda kurung dan kurung kurawal untuk badan fungsi — ini adalah cara paling umum untuk menulis fungsi bash. Begini tampilannya dalam kode:

# Most common way to write a bash function.
example_function () {
  commands
}

Cara lain untuk memformat fungsi bash adalah memulai baris dengan kata kunci bash yang dicadangkan function, lalu nama fungsi dan kurung kurawal untuk badan fungsi — kita tidak memerlukan tanda kurung.

# Another way to write a bash function.
function example_function {
  commands
}

Mendefinisikan fungsi tidak akan mengeksekusi perintahnya. Untuk memanggil fungsi bash, Anda harus memanggil nama fungsinya, seperti berikut:

#!/bin/bash

# A hello world bash function
hello_world () {
  echo "Hello World!"
}

# Invoking the hello_world function
hello_world

Di atas, kita membuat fungsi hello_world yang mencetak “Hello World!” saat skrip bash dijalankan.

Meneruskan argumen ke fungsi bash

Argumen adalah variabel yang digunakan dalam fungsi tertentu. Di bash, kita tidak dapat meneruskan argumen ke fungsi seperti pada bahasa pemrograman tingkat tinggi seperti Python, Julia, dll. Sebagai gantinya, fungsi bash memiliki argumen baris perintahnya sendiri dan kita dapat meneruskan parameter ke sebuah fungsi dengan menempatkannya setelah pemanggilan nama fungsi — dipisahkan spasi jika ada beberapa argumen.

Intinya, argumen fungsi diperlakukan sebagai parameter posisional dan variabel shell ($1, $2, ..., $n) digunakan untuk mengakses argumen yang diteruskan ke fungsi.

#!/bin/bash
greet () {
  echo "Hello $1 $2"
}

greet "John" "Doe" 

Pada skrip bash di atas, kita meneruskan dua argumen, John dan Doe, ke fungsi greet kita. Saat skrip bash dijalankan sekarang, kita akan melihat keluaran berikut:

Hello John Doe

Menggunakan Loop dalam Skrip Bash

Loop memungkinkan Anda mengulang blok perintah berkali-kali. Bash mendukung loop for dan while.

For loop

for loop mengiterasi daftar item atau rentang numerik:

#!/bin/bash

# Loop over a list
for fruit in apple banana cherry; do
  echo "I like $fruit"
done

# Loop over a numeric range
for number in {1..5}; do
  echo "Number: $number"
done

While loop

while loop berjalan selama kondisinya bernilai true:

#!/bin/bash

count=1
while [ $count -le 5 ]; do
  echo "Count: $count"
  count=$((count + 1))
done

Pernyataan “if” adalah pernyataan kondisional yang digunakan dalam bahasa pemrograman. Jika sebuah pernyataan terbukti benar, maka suatu kondisi akan dijalankan. Fungsionalitas ini memungkinkan kita menentukan keadaan di mana potongan kode tertentu akan dieksekusi.

Di bash, kita memulai kondisional dengan if dan mengakhirinya dengan fi (if yang dieja terbalik). Berikut contoh skrip bash dengan kondisional if:

#!/bin/bash

read -p "Give me a number: " number
if [ $number -gt 10 ];
then
  echo "Your number is greater than 10."
fi

Pada skrip bash di atas, pengguna diminta memberikan sebuah angka. Jika angka yang diberikan pengguna lebih besar dari 10, maka “Your number is greater than 10” akan dicetak ke terminal, tetapi jika tidak, program akan berakhir. Gambar 3 adalah contoh ketika kita memasukkan angka lebih besar dari 10.

Menggunakan pernyataan if dalam skrip Bash

Gambar 3: Menggunakan pernyataan “if” dalam skrip Bash

Kesimpulan

Bash scripting adalah keterampilan yang kuat untuk mengotomatiskan tugas, mengelola sistem, dan membangun pipeline data. Dalam tutorial ini, saya membahas blok bangunan inti: baris shebang, membuat dan menjalankan skrip, menangkap input pengguna, bekerja dengan variabel, loop, fungsi, dan kondisional.

Untuk melanjutkan perjalanan bash scripting Anda, jelajahi langkah berikut:

  • Ikuti kursus Introduction to Bash Scripting untuk memperdalam keterampilan Anda dengan latihan praktis
  • Pelajari cara menjadwalkan skrip agar berjalan otomatis menggunakan cron
  • Jelajahi manipulasi string, I/O berkas, dan penanganan error dengan exit code
  • Berlatih dengan skrip otomatisasi dunia nyata: backup, rotasi log, dan pemeriksaan kesehatan sistem
  • Untuk meningkatkan keterampilan Anda ke level berikutnya, saya merekomendasikan kursus Data Processing in Shell

FAQ Bash Scripting

Apa itu skrip bash?

Skrip bash adalah berkas teks biasa yang berisi serangkaian perintah untuk dieksekusi oleh shell Bash. Secara konvensi disimpan dengan ekstensi .sh, skrip bash dimulai dengan baris shebang (#!/bin/bash) yang memberi tahu sistem operasi interpreter mana yang digunakan. Skrip digunakan untuk mengotomatiskan tugas berulang, mengelola berkas, menjalankan program, dan melakukan administrasi sistem.

Bagaimana cara menjalankan skrip bash?

Ada dua cara menjalankan skrip bash:

  • Menggunakan perintah bash: bash script.sh — menjalankan skrip secara langsung tanpa memerlukan izin eksekusi
  • Menjadikannya dapat dieksekusi: Jalankan chmod +x script.sh sekali untuk memberi izin eksekusi, lalu jalankan dengan ./script.sh

Metode kedua adalah pendekatan standar untuk mendistribusikan dan menjalankan skrip di lingkungan produksi.

Apa itu baris shebang dalam skrip bash?

Shebang (#!/bin/bash) adalah baris pertama skrip bash. Ini memberi tahu sistem operasi interpreter mana yang digunakan untuk mengeksekusi berkas. Karakter #! ("hash-bang") diikuti path absolut ke interpreter Bash (/bin/bash). Tanpa shebang, skrip Anda mungkin tetap berjalan tetapi akan menggunakan shell yang saat itu aktif, yang dapat menyebabkan perilaku tidak konsisten antarsistem.

Apa perbedaan antara bash dan shell scripting?

Shell scripting adalah istilah umum untuk menulis skrip yang berjalan di shell Unix mana pun (sh, bash, zsh, ksh, dll.). Bash scripting secara khusus mengacu pada skrip yang ditulis untuk shell Bash (Bourne Again SHell). Bash adalah shell bawaan di sebagian besar sistem Linux dan memperluas standar shell POSIX dengan fitur seperti array, ekspansi aritmetika, dan manipulasi string tingkat lanjut. Saat orang mengatakan "shell scripting," biasanya yang dimaksud adalah bash scripting.

Bagaimana cara mendeklarasikan dan menggunakan variabel dalam skrip bash?

Deklarasikan variabel dengan menetapkan nilai tanpa spasi di sekitar tanda =, lalu akses nilainya dengan menambahkan awalan $ pada namanya:

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

Aturan utama: nama variabel peka huruf besar/kecil, tidak ada spasi di sekitar =, dan bungkus variabel dengan tanda kutip ganda ("$var") saat nilainya mungkin berisi spasi. Gunakan $(command) untuk substitusi perintah guna menyimpan keluaran perintah ke dalam variabel.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026