25 contoh bash script Linux umum untuk membantu tugas-tugas Anda
Bash atau Bourne Again Shell adalah salah satu shell dan bahasa perintah paling populer di lingkungan Linux, terutama untuk pengguna server atau VPS. Bash dirilis pada tahun 1989, yang kemudian menjadi shell default di banyak distro Linux.
Bash script memungkinkan pengguna dan administrator sistem mengotomatiskan berbagai proses, membantu menghemat banyak waktu kerja manual. Selain Linux, Bash juga tersedia untuk Windows dan macOS.
Tutorial kami kali ini akan menjelaskan apa itu bash script, sekaligus membagikan berbagai contoh skrip yang bisa Anda coba untuk mulai mempelajari bash script. Yuk, simak selengkapnya!

Apa fungsi bash script?
Sebelum kita masuk ke contoh dan penggunaannya, mari pahami dulu apa itu Bash dan apa yang dimaksud dengan bash script.
Bash adalah interpreter command-line interface yang berjalan di jendela terminal tempat pengguna bisa menjalankan perintah shell. Sementara itu, bash atau shell scripting adalah proses menulis sekumpulan perintah yang perlu dijalankan oleh sistem Linux. File yang berisi kumpulan instruksi inilah yang disebut bash script.
Singkatnya, interpreter bash akan membaca skrip tersebut lalu menjalankan perintah di dalamnya secara berurutan. Dengan begitu, pengguna bisa menjalankan ratusan perintah hanya dengan sekali klik tanpa harus mengetiknya satu per satu. Berkat kemampuan ini, bash script sering digunakan untuk meningkatkan produktivitas, automasi pekerjaan, dan meminimalkan tugas berulang.
25 contoh bash script untuk dipelajari
Bagian ini akan membahas 25 contoh bash script yang umum digunakan, yang mencakup manipulasi variabel, menampilkan nilai, fungsi, array, perulangan (loop), dan banyak lagi.
1. Hello World
Hello World adalah skrip paling sederhana yang biasanya digunakan untuk mulai belajar scripting. Kita akan membuat variabel bernama learningbash, lalu menampilkan teks Hello World. Pertama, buat file skrip baru dengan editor teks favorit Anda:
nano hello.sh
Tempel baris-baris berikut ini ke dalamnya:
#!/bin/bash #Creates a new variable with a value of "Hello World" learningbash="Hello World" echo $learningbash

Baris pertama (/bin/bash) digunakan di setiap bash script. Baris ini memberi tahu sistem agar menggunakan interpreter bash saat menginterpretasikan perintah.
2. Perintah echo
Perintah echo digunakan untuk menampilkan teks maupun nilai variabel. Pada contoh berikut, Anda bisa melihat perbedaan hasilnya ketika menggunakan tanda petik tunggal dan ganda. Mari mulai dengan membuat file bash script baru:
nano echo.sh
Contoh bash script sederhana ini akan membuat sebuah variabel baru dan menampilkannya menggunakan tanda petik yang berbeda.
#!/bin/bash provider="Hostinger" echo 'The best hosting provider is $provider' echo "The best hosting provider is $provider"

Seperti yang bisa Anda lihat, kalau echo menggunakan tanda petik ganda (“), skrip akan menampilkan nilai asli variabelnya. Sementara dengan tanda petik tunggal (‘), yang muncul hanyalah nama variabelnya.
3. Perintah sleep
Perintah sleep akan menjeda eksekusi bash script dan mengistirahatkan sistem. Mulailah dengan membuat file bash script baru:
nano sleep.sh
Kemudian, tempelkan skrip sederhana berikut:
#!/bin/bash sleep 10 && echo “I’ve been sleeping for 10 seconds, I want more” && sleep 10 && echo “I’m done sleeping, thanks!”

Contoh di atas dimulai dengan perintah sleep yang akan mengistirahatkan sistem Anda selama 10 detik. Setelah itu, kita menggabungkan echo dan sleep; sistem berhenti 10 detik, menampilkan teks, berhenti lagi 10 detik, menampilkan teks kedua, lalu selesai.
Tips berguna
Anda bisa menghentikan bash script kapan saja dengan menekan CTRL + C, tanpa menunggu skrip selesai.
4. Perintah wait
wait merupakan perintah dasar Linux untuk menunggu proses yang sedang berjalan. Biasanya, perintah ini digunakan bersama ID proses atau ID job tertentu.
Berikut cara membuat bash script dengan perintah wait. Buat file baru dulu:
nano wait.sh
Tempelkan skrip berikut ini:
#!/bin/bash wait 1234 echo “Done”
Penting! Kalau tidak ada ID job yang diberikan, perintah wait akan menunggu sampai semua proses latar belakang turunan selesai.
5. Komentar
Anda bisa menambahkan komentar di bash script menggunakan simbol #. Fitur ini berguna kalau skrip Anda cukup panjang dan perlu penjelasan baris demi baris.
Mulailah dengan membuat bash script baru:
nano comments.sh
Lalu tempelkan skrip berikut ini:
#!/bin/bash # Define a variable named Hostinger provider="Hostinger" # Print out the following text echo 'The best hosting provider is $provider' # Print out the following text with $provider variable value echo "The best hosting provider is $provider"

Perlu diingat bahwa komentar hanya terlihat di editor teks dan tidak dieksekusi.
6. Mengambil input pengguna
Untuk menerima input dari pengguna, gunakan perintah bash read. Buat file shell bash baru:
nano read.sh
Kemudian, isi dengan skrip di bawah ini:
#!/bin/bash echo "What is your age?" read age echo "Wow, you look younger than $age years old"
Pada contoh di atas, pengguna memasukkan nilai usia, lalu hasilnya ditampilkan kembali menggunakan echo.
7. Perulangan
Perulangan atau loop adalah fitur penting di banyak bahasa pemrograman. Di bash, perulangan atau bash loop adalah serangkaian instruksi yang dieksekusi secara berulang sampai kondisi yang ditentukan terpenuhi. Mari mulai dengan membuat program bash loop:
nano whileloop.sh
Kemudian, tempelkan skrip di bawah ini:
#!/bin/bash n=0 while : do echo Countdown: $n ((n++)) done
Skrip di atas akan menampilkan hitung mundur yang terus berjalan sampai tak terhingga, kecuali Anda menekan CTRL + C untuk menghentikannya.
Sekarang, mari coba perulangan for. Buat file baru dulu:
nano forloop.sh
Lalu masukkan skrip di bawah ini:
#!/bin/bash for (( n=2; n<=10; n++ )) do echo "$n seconds" done

Skrip di atas akan mencetak angka 2 sampai 10, masing-masing dengan kata seconds.
8. Membuat array
Bash array adalah struktur data yang dirancang untuk menyimpan informasi dengan cara diindeks. Struktur ini berguna saat Anda perlu menyimpan dan mengambil banyak data dengan cepat. Keunggulan bash array dibandingkan dengan bahasa pemrograman adalah kemampuannya untuk menyimpan berbagai jenis elemen, misalnya gabungan string dan angka.
Buat file baru di direktori saat ini:
nano array.sh
Gabungkan perulangan for dengan array berindeks:
#!/bin/bash # Create an indexed array IndexedArray=(egg burger milk) #Iterate over the array to get all the values for i in "${IndexedArray[@]}";do echo "$i";done

Skrip ini akan mengulang IndexedArray dan menampilkan semua nilainya.
9. Pernyataan bersyarat
Pernyataan kondisional yang paling umum di bash adalah if. Meskipun penulisannya sederhana, pernyataan ini juga bisa digunakan pada skrip shell yang lebih kompleks.
Mari mulai dengan membuat file bash baru:
nano if.sh
Tempel kode di bawah ini ke file baru Anda:
#!/bin/bash salary=1000 expenses=800 #Check if salary and expenses are equal if [ $salary == $expenses ]; then echo "Salary and expenses are equal" #Check if salary and expenses are not equal elif [ $salary != $expenses ]; then echo "Salary and expenses are not equal" fi
Skrip di atas membuat dua variabel lalu membandingkan apakah nilainya sama atau berbeda.
10. Fungsi
Fungsi bash adalah sekumpulan perintah yang bisa digunakan berkali-kali dalam bash script. Mari buat file baru:
nano function.sh
Kemudian, tempel kode berikut, yang akan membuat fungsi Hello World sederhana.
#!/bin/bash hello () { echo 'Hello World!' } hello
11. Menampilkan panjang string
Ada beberapa cara untuk menghitung panjang string di bash. Kita akan membahas cara yang paling sederhana. Buat file bernama stringlength.sh:
nano stringlength.sh
Isi dengan skrip berikut ini:
#!/bin/bash # Create a new string mystring="lets count the length of this string" i=${#mystring} echo "Length: $i"
Di sini, operator # digunakan untuk mendapatkan panjang variabel string.
12. Mengekstrak string
Untuk menghapus bagian string yang tidak diperlukan, Anda bisa menggunakan tool ekstraksi string bash. Mulailah dengan membuat bash script baru:
nano extractstring.sh
Skrip berikut ini memiliki 4 nilai; 3 di antaranya adalah string. Dalam contoh ini, kita hanya akan mengekstrak nilai angka. Gunakan perintah cut untuk melakukannya.
Pertama, instruksikan perintah agar setiap variabel dipisahkan dengan koma menggunakan flag -d. Kemudian, minta perintah cut untuk mengekstrak nilai ke-5.
#!/bin/bash cut -d , -f 5 <<< "Website,Domain,DNS,SMTP,5005"
Pada contoh berikutnya, ada string yang bercampur dengan beberapa angka. Kita akan menggunakan perintah expr substr untuk mengekstrak nilai teks Hostinger saja.
#!/bin/bash expr substr "458449Hostinger4132" 7 9
13. Menemukan dan mengganti string
Operasi find and replace pada string bisa dilakukan langsung di bash lewat manipulasi string, tanpa perintah tambahan. Buat file findreplace.sh:
nano findreplace.sh
Lalu tempelkan bash script berikut ini:
#!/bin/bash first="I drive a BMW and Volvo" second="Audi" echo "${first/BMW/"$second"}"

Contoh ini mengganti bagian string sesuai pola yang Anda tentukan.
14. Menggabungkan string
Penggabungan atau concatenation berarti menambahkan satu string ke akhir string lainnya. Buat file concatenation.sh:
nano concatenation.sh
Contoh yang paling sederhana adalah sebagai berikut:
#!/bin/bash firststring="The secret is..." secondstring="Bash" thirdstring="$firststring$secondstring" echo "$thirdstring"
Skrip di atas akan menghubungkan nilai variabel firststring dan secondstring untuk membuat thirdstring yang baru.
Contoh berikutnya adalah seperti berikut:
#!/bin/bash firststring="The secret is..." firststring+="Bash" echo "$firststring"
Skrip ini menggunakan operator += untuk menggabungkan string. Dengan metode ini, Anda bisa menggabungkan string cukup lewat satu variabel.
15. Memeriksa angka ganjil atau genap
Untuk menentukan apakah sebuah angka ganjil atau genap, Anda bisa menggunakan if di bash dan logika kondisional sederhana. Mari mulai dengan membuat file bernama evenoddnumbers.sh:
nano evenoddnumbers.sh
Tempelkan skrip berikut ini:
#!/bin/bash read -p "Enter a number and I will check if its odd or even " mynumber if [ $((mynumber%2)) -eq 0 ] then echo "Your number is even" else echo "Your number is odd." fi
Skrip ini menggunakan perintah read untuk membaca input pengguna dan membaginya dengan 2. Kalau jawabannya adalah 0, angka tersebut adalah genap.
16. Menghitung faktorial sebuah angka
Faktorial adalah hasil perkalian dari sebuah angka dengan semua bilangan bulat positif di bawahnya. Misalnya, faktorial dari 5 adalah:
5! = 5*4*3*2*1 = 120
Bash script untuk menghitung faktorial ini cocok bagi pengguna yang sedang mempelajari konsep rekursi. Mari mulai dengan membuat file .sh yang bisa dijalankan:
factorial.sh
Skrip ini akan meminta pengguna memasukkan sebuah angka, lalu menghitung faktorialnya menggunakan perulangan for.
#!/bin/bash echo Enter the number you want to get factorial for read mynumber factorial=1 for ((i=1;i<=mynumber;i++)) do factorial=$(($factorial*$i)) done echo $factorial

17. Membuat direktori
Membuat direktori di bash sebenarnya cukup mudah, tapi akan merepotkan kalau harus membuat banyak direktori sekaligus. Pada contoh ini, kita akan menggunakan bash script untuk membuat beberapa direktori utama, lengkap dengan subdirektorinya.
Pertama, buat file bernama directories.sh:
nano directories.sh
Kemudian tempelkan kode berikut ini:
#!/bin/bash mkdir -p {Math,English,Geography,Arts}/{notes,examresults,portfolio}
Skrip ini akan membuat empat folder utama: Math, English, Geography, dan Art, masing-masing dengan tiga subfolder: Notes, examresults, dan portfolio.
Kalau Anda ingin hasilnya menjadi satu direktori gabungan, cukup ganti tanda slash (/) dengan underscore (_).
#!/bin/bash mkdir -p {Math,English,Geography,Arts}_{notes,examresults,portfolio}
Berikut output skrip tersebut, yang menampilkan dua direktori digabungkan:

18. Membaca file
Untuk membaca isi file melalui bash, kita perlu membuat file contoh terlebih dahulu. Jalankan perintah berikut:
nano mysamplefile.txt
Masukkan beberapa baris teks sebagai data sampel:
Out of all scripting languages, bash is the most popular one. It allows programmers to run scripts effortlessly in a variety of Linux distros.
Setelah itu, buat file skrip sebenarnya:
nano readfiles.sh
Masukkan skrip berikut ini ke dalam file:
#!/bin/bash myvalue=`cat mysamplefile.txt` echo "$myvalue"
Outputnya akan menampilkan isi dari file teks yang tadi Anda buat:

19. Menampilkan isi file beserta nomor baris
Kita bisa menampilkan isi file dengan nomor baris menggunakan skrip bash sederhana. Buat file baru dulu:
nano cars.txt
Dalam contoh ini, kita akan mengisinya dengan brand mobil terfavorit:
Audi BMW Bentley Maserati Seat Volvo
Simpan file dan buat bash script baru:
nano printlines.sh
Kemudian, tempel skrip berikut ini:
#!/bin/bash myfile='cars.txt' i=1 while read lines; do echo "$i : $lines" i=$((i+1)) done < $myfile

Isi file cars.txt akan sama dengan hasil yang ditampilkan oleh skrip perulangan while.
20. Menghapus file
Untuk menghapus file yang sudah ada, Anda bisa menambahkan pernyataan if untuk mengecek dulu apakah file tersebut tersedia. Setelah itu, perintahkan bash script untuk menghapusnya. Buat file baru dulu:
nano deletefiles.sh
Skrip berikut ini akan membuat file baru bernama cars.txt. Kemudian dengan bantuan pernyataan if, skrip akan mengecek apakah file tersebut ada dan menghapusnya.
#!/bin/bash myfile='cars.txt' touch $myfile if [ -f $myfile ]; then rm cars.txt echo "$myfile deleted" fi
21. Mengecek apakah file tersedia
Untuk mengetahui apakah file tertentu ada di sistem, Anda bisa menggunakan pernyataan if dengan flag -f. Flag ini akan memeriksa apakah file tersebut adalah file biasa, bukan direktori. Mulailah dengan membuat file skrip:
nano exists.sh
Salin dan tempelkan skrip berikut ini:
#!/bin/bash MyFile=cars.txt if [ -f "$MyFile" ]; then echo "$MyFile exists." else echo "$MyFile does not exist." fi
Kalau dijalankan, skrip tersebut akan menghasilkan output sebagai berikut:

22. Mengecek inode dan penggunaan disk
Inode mewakili unit data pada sistem fisik maupun virtual. Setiap file seperti teks, video, file HTML, skrip, atau folder akan dihitung sebagai satu inode.
Nah, jumlah inode yang terlalu banyak bisa memperlambat performa sistem. Jadi, Anda bisa menggunakan skrip ini untuk memeriksa jumlah inode dalam direktori tertentu dan menampilkan penggunaan disk secara ringkas. Mulailah dengan membuat skripnya:
nano inodesdisk.sh
Tempel kode berikut ini, yang akan memeriksa inode dalam urutan menurun serta menampilkan penggunaan disk pada direktori tertentu:
#!/bin/bash find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn du -shc * | sort -rh
Hasilnya akan terlihat seperti ini pada command line:

Direktori yang diberikan memiliki 15 inode, dan total ukuran semua file adalah 20 KB.
23. Mengirim contoh email
Anda juga bisa mengirim email melalui bash script. Untuk melakukannya, Anda membutuhkan mail transfer agent dulu. Di Ubuntu 22.04, perintah penginstalannya akan terlihat seperti ini:
sudo apt-get install mailutils
Setelah mail transport agent terinstal, buat bash script baru:
nano mail.sh
Isi file dengan skrip berikut:
#!/bin/bash Recipient="myawesomeinbox@domain.tld" Mysubject="Regarding our talk" Mymessage="Call me" `mail -s $Mysubject $Recipients <<< $Mymessage`
Penting! Skrip di atas hanya dimaksudkan untuk pengujian dan tidak akan berfungsi dengan baik pada pada layanan seperti Gmail. Sebaiknya gunakan PHPMailer untuk menjalankan fungsi yang sebenarnya.
24. Memperbarui paket sistem
Sistem dan semua aplikasinya harus selalu diupdate agar tetap aman dan berjalan lancar. Nah, Anda bisa membuat bash script untuk melakukannya. Perlu diingat bahwa skrip ini membutuhkan hak akses root. Pertama, buat file bash script berikut:
nano maintenance.sh
Isi file dengan skrip di bawah ini:
#!/bin/bash apt-get update apt-get upgrade
Pastikan untuk menambahkan sudo terlebih dahulu saat Anda menjalankannya:
sudo bash maintenance.sh
Penting! Package manager apt hanya berfungsi pada distro Linux berbasis Debian. Kalau menggunakan distribusi lain, pastikan untuk menjalankan perintah yang sesuai.
25. Menampilkan informasi sistem
Skrip berikut ini akan mencantumkan beberapa metrik server penting: tanggal sistem, uptime dan memori, serta statistik penggunaan jaringan. Kita akan mulai dengan membuat file baru:
nano system.sh
Berikut skrip untuk fungsi tersebut:
#!/bin/bash echo "Date" date echo "Uptime" uptime echo "Memory Usage" free -m echo "Network Usage" ip a

Kesimpulan
Bash script Linux bermanfaat bagi siapa pun yang ingin meringkas proses kompleks menjadi satu skrip otomatis. Bahkan, bagi pengguna biasa, bash bisa membantu menjalankan tugas-tugas harian seperti memperbarui aplikasi atau menghentikan sistem.
Di tutorial ini, kita sudah mempelajari berbagai contoh bash script yang paling umum beserta penggunaannya untuk mengotomatiskan tugas-tugas berulang serta meningkatkan efisiensi.
Semoga artikel ini membantu Anda memahami konsep bash script dengan lebih baik. Untuk panduan selengkapnya, silakan cek artikel kami tentang cara menggunakan bash script. Kalau memiliki pertanyaan atau ingin berbagi pengalaman, sampaikan lewat komentar yuk!