Hal Menarik dari Linux Shell Scripting untuk Developer


Di tengah banyaknya bahasa pemrograman modern, Linux shell scripting masih jadi skill yang “kecil tapi efeknya besar”.

Buat developer, shell script bukan cuma soal *.sh atau command terminal, tapi cara paling cepat untuk mengotomasi pekerjaan berulang, menghubungkan banyak tools, dan bikin workflow kerja jadi lebih rapi.

Kenapa shell scripting itu menarik?

1) Otomasi tugas repetitif dalam hitungan menit

Contoh klasik: setup project baru. Daripada ketik command yang sama berulang-ulang, kita cukup jalankan satu script.

#!/usr/bin/env bash
set -e

mkdir -p src tests docs
cp .env.example .env
npm install
npm run lint

echo "✅ Project siap dipakai"

Script sederhana kayak gini bisa hemat banyak waktu, apalagi kalau dilakukan setiap hari.

2) “Lem” untuk menggabungkan banyak tools

Shell scripting punya kekuatan unik: dia bisa jadi jembatan antar tool yang berbeda.

Misalnya, kamu bisa:

  • ambil data via curl
  • filter dengan jq atau grep
  • simpan hasil ke file
  • kirim notifikasi jika ada error

Semua itu bisa dikerjakan dalam satu alur script tanpa bikin service baru.

3) Cocok untuk server, CI/CD, dan DevOps

Banyak proses deploy dan maintenance server masih mengandalkan shell script karena:

  • cepat ditulis
  • mudah dijalankan di Linux mana pun
  • minim dependency

Contoh penggunaan nyata:

  • backup database harian
  • rotate log
  • health check service
  • auto restart service saat gagal

Hal teknis yang bikin shell scripting powerful

1) Pipe dan redirection

Dengan pipe (|), output command bisa langsung jadi input command lain.

journalctl -u nginx --since "1 hour ago" | grep -i error | tail -n 20

Ini memudahkan proses investigasi log tanpa buka banyak aplikasi.

2) Variabel & parameter script

Script bisa reusable dengan menerima input dari user.

#!/usr/bin/env bash
name=${1:-developer}
echo "Halo, $name"

Jalankan:

./hello.sh apin

3) Exit code untuk kontrol alur

Shell command mengembalikan exit code (0 sukses, selain itu gagal). Ini penting untuk otomasi yang aman.

if npm test; then
  echo "✅ Test lulus"
else
  echo "❌ Test gagal"
  exit 1
fi

4) Mode aman dengan set -euo pipefail

Best practice ini membantu script gagal lebih cepat dan jelas kalau ada error.

set -euo pipefail
  • -e: berhenti saat ada command gagal
  • -u: error kalau pakai variabel yang belum didefinisikan
  • -o pipefail: pipeline dianggap gagal jika salah satu command gagal

Contoh use case yang relevan untuk developer modern

1) Script jalankan quality check sebelum commit

#!/usr/bin/env bash
set -euo pipefail

npm run lint
npm run test
npm run build

echo "✅ Semua check lolos, siap commit"

2) Script monitoring resource server singkat

#!/usr/bin/env bash

echo "== Uptime =="
uptime

echo "\n== Memory =="
free -h

echo "\n== Disk =="
df -h

3) Script backup otomatis

#!/usr/bin/env bash
set -e

BACKUP_DIR="/srv/backup"
DATE=$(date +%F_%H-%M-%S)

mkdir -p "$BACKUP_DIR"
tar -czf "$BACKUP_DIR/app_$DATE.tar.gz" /srv/app

echo "✅ Backup selesai: $BACKUP_DIR/app_$DATE.tar.gz"

Batasan shell scripting (biar realistis)

Walau powerful, shell scripting bukan solusi untuk semuanya.

Kurang cocok jika:

  • logika aplikasi sudah kompleks banget
  • butuh struktur data rumit
  • butuh maintainability jangka panjang ala aplikasi besar

Untuk kasus itu, biasanya lebih nyaman pindah ke Python/Go/Node, lalu shell script cukup dipakai sebagai orchestrator.

Tips biar script kamu tidak “rapuh”

  • Selalu quote variabel: "$VAR"
  • Pakai shellcheck untuk linting script
  • Beri logging yang jelas (echo bertahap)
  • Pisahkan script kecil per tujuan (deploy, backup, health-check)
  • Simpan script penting di repo (versioned)

Penutup

Hal paling menarik dari Linux shell scripting adalah dampaknya yang besar dengan effort yang kecil.

Kamu tidak perlu jadi “shell wizard” dulu. Mulai dari script sederhana untuk tugas harian, lalu upgrade perlahan. Dalam beberapa minggu, biasanya workflow kamu akan terasa jauh lebih cepat, rapi, dan minim human error.

Kalau kamu developer yang sering kerja dengan Linux, belajar shell scripting itu bukan lagi bonus—tapi investasi skill yang sangat worth it.

Komentar

Real-time

Memuat komentar...

Tulis Komentar

Email tidak akan ditampilkan

0/2000 karakter

Catatan: Komentar akan dimoderasi sebelum ditampilkan. Mohon bersikap sopan dan konstruktif.