Belajar Bash Scripting Part 13 : Membuat Perintah Bash Kustom

Sebagai seorang developer atayu SysAdmin, tugas berulang-ulang di terminal bisa menjadi sangat membosankan. Salah satu cara efektif untuk mengoptimalkan tugas itu yaitu dengan cara membuat perintah Bash kustom, atau biasa disebut sebagai aliases. Chapter ini membahas bagaimana cara membuat, me-manage, dan menyimpan alas, beserta dengan best practices untuk meningkatkan alur kerja kalian.
Mengapa Menggunakan Perintah Bash Kustom?
Membuat perintah Bash kustom membuat kalian bisa :
Hemat waktu : Menghindari pengetikkan perintah yang panjang berulang kali.
Meningkatkan produktivitas : Mengakses perintah yang sering digunakan dengan keyword yang singkat dan mudah diingat.
Mengurangi eror : Meminimalisir resiko typo pada perintah yang kompleks.
Pengenalan Aliases
Aliases adalah shortcut untuk perintah yang panjang atau kompleks. Aliases memungkinkan kalian membuat custom commands tanpa harus menulis script lengkap.
Sintaks
alias name="command"
Contoh
alias ll="ls -la"
Contoh di atas membuat shortcut
ll
untuk perintahls -la
.
Membuat Custom Aliases
Contoh Skenario
Bayangkan kalian sering memeriksa jumlah TCP connections pada port 80 dan 443. Biasanya, perintah yang digunakan adalah :
netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l
Mengetik perintah tersebut setiap kali dijalankan tentu tidak efisien. Sebagai gantinya, kalian bisa membuat alias untuknya.
Membuat Alias
alias conn="netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
Dengan mengetik
conn
, output yang sama dengan perintah lengkap tersebut akan ditampilkan.Meningkatkan Alias
Kalian dapat menambahkan pesan informatif agar alias lebih user-friendly :
alias conn="echo 'Total connections on port 80 and 443:' ; netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
Output :
Total connections on port 80 and 443: 12
Membuat Aliases Tetap Ada (Persist)
Alias yang dibuat langsung di terminal bersifat sementara dan akan hilang saat logout. Untuk membuatnya permanen, tambahkan alias tersebut ke file profile shell kalian.
Memilih File yang Tepat
Pada Ubuntu dan sebagian besar distribusi Linux:
~/.bashrc
Pada macOS dan beberapa distribusi Linus:
~/.bash_profile
Pada sistem modern yang menggunakan Zsh:
~/.zshrc
Menambahkan ke .bashrc
Buka file
.bashrc
menggunakan text editor (misalnya, nano) :nano ~/.bashrc
Tambahkan alias kalian di bagian bawah :
alias conn="echo 'Total connections on port 80 and 443:' ; netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
Best Practises untuk Membuat Custom Bash Commands
Gunakan Nama yang Deskriptif
Pilih nama alias yang bermakna untuk menghindari konflik dengan perintah yang sudah ada.
Contoh :
alias listconn="netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
Hindari menggunakan nama perintah umum seperti
ls
,cd
ataurm
sebagai alias.Kelompokkan Alias yang Berkaitan
Atur aliases yang terkait bersama-sama di dalam file konfigurasi kalian untuk memudahkan pembacaan dan pemeliharaan :
# Networking Aliases alias listconn="netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l" alias myip="curl ifconfig.me"
Sertakan Komentar
Tambahkan komentar untuk menjelaskan tujuan setiap alias, terutama jika perintahnya kompleks :
# Check total connections on port 80 and 443 alias listconn="netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l"
Hindari Menimpa Perintah Sistem
Berhati-hatilah saat memberi nama alias untuk menghindari secara tidak sengaja menimpa perintah sistem :
# Not recommended alias rm="rm -i"
Uji Alias Terlebih Dahulu
Ujilah alias kalian langsung di terminal sebelum menambahkannya ke
.bashrc
atau file konfigurasi lainnya.Gunakan Functions untuk Perintah yang Kompleks
Jika alias kalian melibatkan logika yang kompleks atau beberapa perintah, pertimbangkan untuk menggunakan function sebagai gantinya :
conn() { echo "Total connections on port 80 and 443:" netstat -plant | grep '80\|443' | grep -v LISTEN | wc -l }
Subscribe to my newsletter
Read articles from Kharisma Gilang directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
