Shell Minimalis: dash, mksh, oksh, dll
Kenapa Bukan Bash?
Bash adalah shell paling umum dipakai, tapi ukurannya relatif besar dan memiliki banyak fitur non-POSIX yang menambah kompleksitas. Bagi pengguna yang mengutamakan kesederhanaan, kecepatan startup (sistem embedded, init script, penggunaan harian minimalis), tersedia beberapa alternatif shell yang lebih ringkas.
dash
Debian Almquist Shell shell POSIX-compliant yang sangat ringan, umum dipakai sebagai /bin/sh di banyak distro (termasuk Debian dan turunannya) untuk menjalankan script sistem karena kecepatan eksekusinya.
- Fokus: kepatuhan POSIX, kecepatan
- Tidak memiliki fitur interaktif seperti history atau tab completion bawaan yang kaya
- Cocok untuk script, kurang ideal untuk interactive daily driver
mksh (MirBSD Korn Shell)
Turunan dari Korn Shell (ksh), dikembangkan sebagai bagian dari proyek MirBSD. Menyediakan fitur interaktif yang cukup lengkap (history, line editing, job control) namun tetap ringan dibanding bash.
- Fokus: keseimbangan antara fitur interaktif dan kesederhanaan
- Kompatibel dengan sebagian besar syntax ksh
- Sering dipakai sebagai default shell di Android (melalui toolbox/mksh)
oksh (OpenBSD Korn Shell)
Port dari ksh milik OpenBSD ke sistem lain. Menekankan kesederhanaan kode dan keamanan (mengikuti filosofi OpenBSD), dengan fitur yang lebih minimal dibanding mksh.
- Fokus: kesederhanaan, auditability kode, keamanan
- Fitur interaktif lebih terbatas dibanding mksh
- Pilihan populer di kalangan pengguna yang menyukai filosofi suckless/minimalis
rc (Plan 9 Shell)
Shell dari Plan 9 from Bell Labs, tersedia di sistem Unix modern melalui plan9port. Memiliki syntax yang didesain ulang dari nol, lebih konsisten dan minim ambiguitas dibanding shell keluarga Bourne/POSIX.
- Fokus: konsistensi syntax, menghindari quirk shell tradisional
- Tidak POSIX-compliant, sehingga script bash/sh tidak bisa langsung dipakai
- Cocok dieksplorasi bagi yang tertarik filosofi Plan 9
Perbandingan Singkat
| Shell | Basis | POSIX | Fokus Utama |
|---|---|---|---|
| dash | Almquist Shell | Ya | Kecepatan script |
| mksh | Korn Shell (MirBSD) | Sebagian | Interaktif + ringan |
| oksh | Korn Shell (OpenBSD) | Sebagian | Minimalis + keamanan |
| rc | Plan 9 | Tidak | Konsistensi syntax |
Memilih Shell yang Tepat
Pemilihan shell sebaiknya disesuaikan dengan kebutuhan:
- Script sistem/init ->
dashatau POSIXsh - Penggunaan interaktif ringan sehari-hari ->
mkshatauoksh - Eksplorasi filosofi alternatif di luar Bourne shell family ->
rc
Mengganti default shell dapat dilakukan dengan:
chsh -s /bin/mksh
(Gantikan /bin/mksh dengan path shell pilihan masing-masing.)