Pelajari Scripting Bash: Dari Dasar Hingga Proyek Nyata
Daftar Isi
- Pengantar Scripting Bash
- Instalasi dan Setup Lingkungan
- Dasar Syntax Bash
- Variabel dan Tipe Data
- Kontrol Alur: Kondisi dan Perulangan
- Fungsi dan Modularisasi
- Manipulasi File dan Direktori
- Input dan Output
- Debugging dan Error Handling
- Proyek Nyata: Backup Otomatis dengan Bash
- Kesimpulan dan Langkah Selanjutnya
Pengantar Scripting Bash
Bash (Bourne Again SHell) adalah salah satu shell paling populer yang digunakan di sistem operasi Linux dan Unix. Scripting Bash memungkinkan Anda mengotomatisasi tugas-tugas yang berulang, mengelola sistem, dan membuat program sederhana dengan menggunakan perintah-perintah shell.

Dalam ebook ini, Anda akan belajar mulai dari dasar-dasar scripting Bash hingga membuat proyek nyata yang dapat digunakan sehari-hari.
Instalasi dan Setup Lingkungan
Sebagian besar distribusi Linux sudah menyertakan Bash secara default. Untuk memeriksa versi Bash yang terpasang, gunakan perintah:
$ bash --version
Jika Anda menggunakan Windows, Anda dapat menginstal Git Bash atau menggunakan Windows Subsystem for Linux (WSL) untuk mendapatkan lingkungan Bash.

Dasar Syntax Bash
Script Bash adalah file teks yang berisi perintah-perintah shell yang akan dijalankan secara berurutan. File script biasanya diawali dengan shebang
#!/bin/bash
untuk menunjukkan interpreter yang digunakan.
#!/bin/bash
echo "Halo, dunia!"
Perintah
echo
digunakan untuk menampilkan teks ke layar. Simpan script di file dengan ekstensi
.sh
dan jalankan dengan perintah:
$ bash nama_script.sh

Variabel dan Tipe Data
Variabel di Bash digunakan untuk menyimpan data. Tidak perlu mendeklarasikan tipe data secara eksplisit. Contoh penggunaan variabel:
#!/bin/bash
nama="Budi"
umur=25
echo "Nama saya $nama dan umur saya $umur tahun."
Perhatikan bahwa tidak ada spasi di sekitar tanda sama dengan saat mendefinisikan variabel.

Kontrol Alur: Kondisi dan Perulangan
Bash mendukung struktur kontrol seperti
if
,
case
, dan perulangan
for
,
while
.
Contoh if-else:
#!/bin/bash
nilai=80
if [ $nilai -ge 75 ]; then
echo "Lulus"
else
echo "Tidak lulus"
fi
Contoh for loop:
#!/bin/bash
for i in 1 2 3 4 5
do
echo "Perulangan ke-$i"
done

Fungsi dan Modularisasi
Fungsi membantu mengorganisasi kode agar lebih modular dan mudah dipelihara. Contoh fungsi di Bash:
#!/bin/bash
sapa() {
echo "Halo, $1!"
}
sapa "Andi"
Fungsi
sapa
menerima parameter dan menampilkan pesan sapaan.

Manipulasi File dan Direktori
Bash memungkinkan Anda membuat, membaca, menulis, dan menghapus file serta direktori. Contoh membuat file dan menulis isi:
#!/bin/bash
echo "Ini isi file" > file.txt
cat file.txt
Contoh membuat direktori dan memindahkan file:
mkdir backup
mv file.txt backup/

Input dan Output
Untuk menerima input dari pengguna, gunakan perintah
read
. Contoh:
#!/bin/bash
echo "Masukkan nama Anda:"
read nama
echo "Halo, $nama!"
Output dapat diformat menggunakan
echo
dan operator redirect untuk menyimpan ke file.

Debugging dan Error Handling
Untuk debugging, jalankan script dengan opsi
-x
agar perintah yang dieksekusi ditampilkan:
$ bash -x script.sh
Gunakan pengecekan error dengan
if
dan periksa status exit dengan
$?
:
#!/bin/bash
cp file.txt backup/
if [ $? -eq 0 ]; then
echo "File berhasil disalin."
else
echo "Gagal menyalin file."
fi

Proyek Nyata: Backup Otomatis dengan Bash
Berikut contoh script sederhana untuk membuat backup otomatis folder penting:
#!/bin/bash
# Direktori sumber dan tujuan backup
sumber="$HOME/Documents"
tujuan="$HOME/Backup"
# Membuat folder backup jika belum ada
mkdir -p "$tujuan"
# Nama file backup dengan tanggal
tanggal=$(date +%Y-%m-%d)
file_backup="backup-$tanggal.tar.gz"
# Membuat archive backup
tar -czf "$tujuan/$file_backup" -C "$sumber" .
if [ $? -eq 0 ]; then
echo "Backup berhasil dibuat di $tujuan/$file_backup"
else
echo "Backup gagal dibuat."
fi
Script ini membuat arsip terkompresi dari folder Documents dan menyimpannya di folder Backup dengan nama yang berisi tanggal hari ini.

Kesimpulan dan Langkah Selanjutnya
Anda telah mempelajari dasar-dasar scripting Bash mulai dari syntax, variabel, kontrol alur, fungsi, manipulasi file, input/output, debugging, hingga contoh proyek nyata. Dengan pemahaman ini, Anda dapat mulai mengotomatisasi berbagai tugas di sistem Linux Anda.
Langkah selanjutnya adalah bereksperimen dengan script yang lebih kompleks, mempelajari manajemen proses, dan integrasi dengan bahasa pemrograman lain. Jangan lupa untuk selalu membaca dokumentasi dan mencoba berbagai contoh.

Selamat belajar dan semoga sukses!