Setelah nyaman dengan perintah satu baris, saatnya mengotomatiskan pekerjaan berulang. Section ini membahas pemrograman shell dari variabel dan quoting, kontrol alur, fungsi, hingga skrip produksi yang tahan banting dan terjadwal.

# Pengenalan Shell

Kenali bash, zsh, dan fish sebagai shell populer, file konfigurasinya, dan cara memilihnya.

Buka →
# Bash Basics

Tulis skrip pertama dengan shebang, eksekusi langsung, dan komentar serta konvensi penamaan file .sh.

Buka →
# Variables dan Quoting

Simpan nilai dalam variabel, pahami perbedaan kutip ganda dan kutip tunggal, dan gunakan parameter expansion.

Buka →
# Input dan Output

Terima input dengan read dan echo variatif serta format output dengan printf.

Buka →
# Conditional Statements

Cabangkan logika dengan if, test, dan case termasuk operator perbandingan string dan angka.

Buka →
# Loops

Ulangi pekerjaan dengan for, while, dan until beserta break dan continue.

Buka →
# Functions

Kelompokkan logika dalam fungsi, kembalikan nilai, dan manfaatkan variabel lokal.

Buka →
# Arrays

Simpan kumpulan nilai dalam indexed array dan associative array beserta cara iterasinya.

Buka →
# Exit Status dan Error Handling

Tangani kegagalan dengan exit status, set -e, dan trap untuk pembersihan yang andal.

Buka →
# Arguments dan Command Line Options

Proses argumen posisi dan opsi dengan $#, $1, shift, dan getopts.

Buka →
# Text Processing dalam Skrip

Olah teks di dalam skrip dengan cut, sort, uniq, dan grep untuk pipeline yang ringkas.

Buka →
# Regular Expressions

Kuasai pola regex basic dan extended untuk grep, sed, dan awk.

Buka →
# Process Substitution

Bandingkan dua output perintah dengan <(...) tanpa file sementara.

Buka →
# Signals dan Traps

Tangkap sinyal seperti SIGINT dengan trap agar skrip berhenti dengan bersih.

Buka →
# Debugging Shell Scripts

Lacak masalah skrip dengan bash -x, set -u, dan psedocode tracing untuk analisis cepat.

Buka →
# Shellcheck dan Script Quality

Angkat kualitas skrip dengan Shellcheck, aturan SC yang umum, dan konvensi penulisan.

Buka →
# Scheduling Scripts

Jadwalkan skrip dengan cron, systemd timer, dan anacron termasuk kunci flock agar tidak dobel.

Buka →