GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Bash Scripting untuk Pemula

Jika Anda memulai dengan sistem Linux, istilah seperti “Shell scripting” atau “Skrip bash ” bisa sangat umum – Tapi apa artinya? Sebelum kita masuk ke detailnya, mempelajari skrip Bash dapat membantu Anda menghemat waktu dalam menjalankan dan melakukan berbagai tugas sistem dan memahami baris perintah (Terminal) Linux dengan lebih baik dan mengotomatiskan banyak tugas sistem.

Apa itu Bash?

Bash, akronim untuk “Bourne-Again-Shell,” adalah shell Unix atau penerjemah bahasa perintah untuk sistem operasi GNU. Ini telah menjadi Shell utama untuk distribusi Linux dan rilis Apple macOS sebelum macOS Catalina. Bash juga tersedia untuk Windows 10 melalui subsistem Windows untuk Linux.

Bash biasanya berjalan di jendela teks yang biasa dikenal sebagai Terminal, di mana pengguna mengetikkan perintah untuk melakukan berbagai tugas. Bash juga dapat mengeksekusi perintah yang ditulis dalam file, metode yang disebut sebagai “bash scripting.”

Perbedaan antara Bash scripting dan Shell Scripting

Skrip shell dan skrip Bash bukanlah hal yang sama. Dengan skrip Bash, Anda secara eksplisit menggunakan shell bash. Di sisi lain, skrip Shell bisa menjadi kata yang cukup luas karena kami memiliki shell lain yang tersedia selain Bash. Beberapa yang paling umum termasuk Korn (ksh), C shell (csh), Z shell (zsh), dan Bash shell (sh). Namun, tidak mengherankan jika menemukan orang yang menggunakan skrip bash dan skrip shell secara bergantian memiliki arti yang sama. Posting kami di Top 6 Open Source Shells untuk Linux memberikan deskripsi rinci tentang shell ini.

Dalam posting ini, kita akan melihat skrip Bash. Secara default, banyak distribusi Linux yang tersedia menggunakan shell Bash. Lihat posting kami di 6 Distribusi Linux terbaik untuk pemula. Untuk mengonfirmasi shell yang Anda gunakan pada distribusi Linux Anda saat ini, jalankan perintah di Terminal.

echo $SHELL

Dari gambar di atas, Anda dapat melihat penerjemah default di sistem saya adalah bash. Saat ini, saya menjalankan Ubuntu 20.04 LTS. Mari selami!

Memahami Skrip Bash

Skrip bash adalah file teks yang berisi perintah bash yang dieksekusi untuk melakukan berbagai tugas. Untuk menulis skrip ini, Anda hanya memerlukan editor teks sederhana seperti gedit, leaf pad, vim, nano, dan banyak lagi. Harap ingat untuk menyimpan skrip Anda dengan .sh ekstensi dan sebagai teks biasa dan bukan teks kaya. Salah satu editor favorit yang saya gunakan untuk menulis skrip adalah editor nano.

Menamai, Menetapkan izin, dan Menjalankan skrip Bash

Seperti yang dijelaskan di atas, pastikan untuk menggunakan ekstensi .sh untuk skrip bash Anda. Misalnya, Anda dapat memiliki skrip dengan nama fosslinux_backup.sh . Namun, akan lebih baik jika Anda berhati-hati dengan penamaan skrip Anda. Misalnya, kebanyakan orang suka menyimpan sebagian besar skrip mereka sebagai "tes". Tidak diketahui sebagian besar, ada perintah built-in Unix yang disebut test, yang memeriksa jenis file dan membandingkan nilai. Anda dapat menggunakan perintah which untuk memeriksa apakah ada program dengan nama yang sama dengan skrip Anda untuk mencegah konflik program.

yang [perintah]misalnya tes yang mana

Dari output di atas, kita dapat melihat bahwa test sudah merupakan perintah bawaan. Oleh karena itu, untuk menghindari konflik antar program, saya tidak akan menamai skrip saya sebagai “test.”

Untuk membuat skrip dapat dieksekusi untuk setiap pengguna, gunakan perintah di bawah ini:

chmod +x [script.sh]

Untuk membuat skrip dapat dieksekusi untuk pengguna saat ini, gunakan perintah di bawah ini:

chmod u+x [script.sh]

Sekarang untuk menjalankan skrip, jalankan perintah di bawah ini:

./[script_name]

Dengan metode di atas, Anda akan menyadari bahwa Anda perlu menggunakan cd perintah untuk pindah ke direktori yang berisi skrip atau meneruskan jalur ke skrip. Namun, ada solusi untuk ini. Simpan skrip Anda di bin direktori yang ada di direktori home.

Dengan pembaruan terkini, sebagian besar distribusi tidak disertai dengan bin folder secara default. Oleh karena itu, Anda akan diminta untuk membuatnya secara manual. Dengan menempatkan skrip Anda di folder ini, Anda dapat menjalankan skrip dengan mengetikkan namanya di Terminal tanpa menggunakan cd dan ./ perintah.

Panduan pembuatan skrip Bash

Sebelum menulis skrip pertama Anda, ada beberapa pedoman yang perlu Anda pahami saat menulis skrip.

  • Semua skrip Anda harus dimulai dengan baris “#!/bin/bash.”
  • Letakkan setiap perintah pada baris baru.
  • Setiap komentar dimulai dengan # simbol.
  • Perintah diapit dengan () tanda kurung.

#!/bin/bash Pernyataan (Hash-Bang Hack) adalah jalur ke shell yang akan kita gunakan. Jika Anda menggunakan shell lain, maka Anda perlu mengedit jalur ini. Kami memahami bahwa semua komentar dimulai dengan # simbol. Namun, ketika diikuti dengan (!) tandai di Hash-Bang Hack, skrip dipaksa untuk dieksekusi dengan shell yang ditunjuk oleh baris ini. Dalam kasus kami, ini adalah shell Bash.

Skrip Bash Pertama Anda

Seperti kebanyakan bahasa pemrograman, kami akan menulis skrip yang mencetak “Hello World” pernyataan saat dieksekusi. Buka editor teks favorit Anda dan rekatkan perintah di bawah ini. Simpan file teks sebagai fossHelloWorld.sh atau nama lain yang bukan merupakan perintah bawaan.

#!/bin/bash#Script ini akan mencetak 'Hello World' pada Terminalecho "Hello World"

Setelah Anda menyimpan file, buat itu dapat dieksekusi dengan menjalankan perintah di bawah ini:

chmod +x fossHelloWorld.sh

Sekarang, jalankan dengan perintah di bawah ini:

./fossHelloWorld.sh

Script di atas hanya memiliki tiga baris. Yang pertama adalah Hash-Bang Hack yang sudah kita bahas di atas, yang kedua adalah komentar, dan yang ketiga adalah perintah yang akan dijalankan. Catatan, komentar tidak pernah dieksekusi.

Mari kita lihat fitur skrip bash lain yang dapat Anda manfaatkan.

Perintah gema

Perintah Echo digunakan untuk mencetak output pada baris perintah atau Terminal Linux. Jika Anda seorang pengembang dan pernah bekerja dengan PHP sebelumnya, Anda pasti pernah menemukan perintah ini juga. Mari kita menulis skrip bash kecil untuk mendemonstrasikan cara kerja perintah ini.

#!/bin/bash#Let's print the first lineecho "This is Fosslinux.com - With a new line"#Let's print the Second statement without a new lineecho -n "This is Fosslinux - No new Line" 

Simpan skrip Anda, tetapkan izin yang diperlukan, dan jalankan.

Untuk memahami kode, perintah echo pertama mencetak pernyataan dan pergi ke baris berikutnya. Perintah echo kedua memiliki -n argumen yang mencegah skrip pergi ke baris berikutnya. Anda dapat menggunakan banyak opsi lain dengan perintah Echo, termasuk variabel, seperti yang akan kita lihat di bawah.

Variabel

Variabel adalah bagian umum dan penting dari setiap bahasa pemrograman. Seseorang dapat mendeklarasikan variabel Bash dalam beberapa cara. Saat menetapkan nilai ke variabel apa pun, Anda tidak perlu menggunakan simbol apa pun. Namun, saat memanggil nilai variabel, Anda harus menggunakan $ tanda tangani di awal variabel.

Anda dapat menggunakan variabel di Terminal atau sebagai skrip. Jalankan perintah di bawah ini di Terminal Anda.

myWebsite ="Fosslinux.com"echo $myWebsite

Sekarang mari kita buat skrip bash yang mengambil dua input dari pengguna dan menyimpannya dalam variabel $x dan $y . Script kemudian akan memeriksa apakah kedua nilai tersebut sama atau tidak.

#!/bin/bashecho "Masukkan angka pertama"read aecho "Masukkan angka kedua"read bif [[ $a -eq $b ]]thenecho "Angka sama"elseecho "Angka tidak sama"fi 

Simpan skrip dan jalankan. Dari gambar di bawah, Anda dapat melihat bahwa kami memasukkan nilai yang berbeda, dan skrip dapat memeriksa apakah nilainya sama atau tidak.

Sekarang, mari kita lihat lebih dekat kodenya. Dua pernyataan gema pertama meminta pengguna untuk memasukkan input angka Pertama dan kedua. read perintah akan menunggu pengguna memasukkan nomor dan menyimpannya ke variabel yang ditentukan. Dalam kasus kami, itu adalah a dan b . Kami kemudian memiliki pernyataan if yang memeriksa apakah kedua nilai itu sama atau tidak.

Pernyataan bersyarat

Dalam bahasa pemrograman apa pun, pernyataan bersyarat mengontrol aliran program. Sepotong kode hanya akan dieksekusi ketika kondisi tertentu terpenuhi. Beberapa pernyataan kondisional yang paling umum termasuk "jika-maka-lain" dan "kasus." Di bawah ini adalah sintaks dasar dari pernyataan if-then-else.

if [[ condition ]]thenelsefi

Lihat skrip di bawah ini, yang menggunakan pernyataan kondisional “if-then-else”.

#!/bin/bashecho "Enter Your Age"read ageif ((age> 18 ))thenecho "You can go to the party"elseecho "Kamu tidak berhak pergi ke pesta"fi

Mari kita pergi melalui skrip di atas. Kami memiliki echo pernyataan yang meminta pengguna untuk memasukkan nomor usia mereka. read pernyataan menyimpan usia yang dimasukkan ke variabel "usia." Kami kemudian memiliki pernyataan kondisional if-then-else yang memeriksa apakah usia lebih dari 18 tahun sebelum menginstruksikan pengguna.

Pengulangan

Loop biasanya digunakan ketika Anda ingin mengeksekusi sepotong kode beberapa kali. Misalnya, jika saya ingin mengulang 1000 baris pernyataan “Selamat datang di Fosslinux,” saya akan membutuhkan 1000 pernyataan gema. Namun, dengan loop, yang perlu saya lakukan adalah menentukan berapa kali saya ingin pernyataan tersebut digaungkan atau dicetak di Terminal. Bash mendukung tiga jenis loop; Untuk Loop, Loop Sementara, dan Loop Sampai. Mari kita lihat masing-masing.

  • Perulangan Untuk

A For Loop digunakan untuk melakukan iterasi melalui daftar data tertentu atau array. Di bawah ini adalah sintaks dasar Bash For Loop;

untuk Nilai dalam 1 2 3 4 5 .. Ndoinstruction1instruction2instruction-Ndone

atau,

untuk VALUE dalam file1 file2 file3doinstruction1 pada $VALUEinstruction2instruction-Ndone

Perhatikan skrip di bawah ini. Ini mengulangi hari-hari tertentu dalam seminggu dan mencetaknya di Terminal baris demi baris.

#Membaca nama hari kerja di setiap iterasi loopfor hari di Senin Selasa Rabu Kamis Jumat Sabtu Minggudoecho "$day"done

Mari simpan skrip sebagai ForLoop.sh dan mengeksekusinya. Di bawah ini adalah tangkapan layar dari outputnya.

Itu hanyalah contoh sederhana dari apa yang dapat Anda lakukan dengan For Loop. Anda juga dapat menggabungkannya dengan pernyataan bersyarat untuk menyelesaikan tugas tertentu.

  • Perulangan Sementara

While Loop mengeksekusi tugas tertentu sementara kondisi tertentu tetap True. Dalam setiap iterasi, loop akan memeriksa kondisi terlebih dahulu sebelum mengeksekusi instruksi. Jika kondisi False, loop akan berhenti. Sintaks dasar dari loop while bash adalah sebagai berikut:

sementara [CONDITION]melakukan[COMMANDS]selesai

Misalnya, kita dapat memiliki skrip yang akan mencetak pernyataan “Selamat datang di FOSSLINUX.COM” 20 kali hingga variabel X disetel ke 20. Mari kita coba dan terapkan secara praktis. Perhatikan script di bawah ini.

#!/bin/bashx=1 while [ $x -le 20 ]doecho "Selamat datang di FOSSLINUX.COM"x=$(( $x + 1 ))done

Mari simpan skrip sebagai WhileLoop.sh dan mengeksekusinya. Di bawah ini adalah tangkapan layar dari outputnya.

Mari kita lihat skrip While Loop di atas. Pertama-tama kita mendeklarasikan variabel X dengan memberikan nilai 1. Kemudian kita membuat pernyataan While yang mengeluarkan pernyataan “Welcome to FOSSLINUX.COM” saat X kurang dari 20. Terakhir, kita menambah X satu per satu setelah setiap iterasi.

  • Perulangan Sampai

Loop Bash Hingga digunakan untuk mengeksekusi serangkaian instruksi atau perintah selama kondisi yang ditetapkan bernilai salah. Di bawah ini adalah sintaks dasar dari Perulangan Sampai.

sampai [CONDITION]selesai[INSTARUCTIONS/COMMANDS]selesai

Serupa dengan While Loop, hingga Loop pertama mengevaluasi kondisi yang ditetapkan sebelum mengeksekusi instruksi atau perintah. Jika kondisi bernilai false, instruksi dieksekusi. Loop dihentikan ketika kondisi bernilai true. Lihatlah contoh di bawah ini.

#!/bin/bashcount=0sampai [ $count -gt 5 ]Penghitung doecho:$count((count++))selesai

Setelah kita simpan dan jalankan script di atas, kita mendapatkan output di bawah ini:

Skrip di atas pertama-tama buat jumlah variabel dan setel ke nol (0). Itulah kondisi yang mengontrol jalannya program kita. Sampai Loop memeriksa apakah nilai hitungan lebih besar dari 5. Jika tidak, itu akan mencetak instruksi yang diteruskan. Namun, jika nilainya lebih besar dari 5, loop akan segera berakhir. Terakhir, kita tambahkan nilai count sebesar 1 (count++).

Fungsi Bash

Dalam pemrograman dan skrip, Fungsi digunakan untuk menyimpan potongan kode yang dapat digunakan kembali yang diperlukan untuk melakukan tugas tertentu. Oleh karena itu, jika Anda memiliki perintah serupa yang ingin Anda jalankan di bagian yang berbeda dalam skrip Anda, Anda tidak perlu menulis perintah ini berulang kali. Apit mereka dalam sebuah fungsi dan jalankan fungsi sebagai gantinya.
Di bawah ini adalah sintaks dasar dari fungsi Bash.

function_name () {}

atau,

function function_name {}

Mari kita buat skrip sederhana yang menggunakan fungsi. Pertama-tama kita membuat fungsi yang disebut "myFunction", yang mengeluarkan pernyataan "Halo, saya adalah fungsi pertama" saat dipanggil. Fungsi kedua, "myCities," sedikit lebih maju karena membutuhkan argumen yang diteruskan. Argumen diberikan setelah memanggil nama fungsi. Mereka dapat diakses dalam fungsi sebagai $1.

#!/bin/bashmyFunction () {echo "Halo saya fungsi pertama"echo "Halo saya fungsi pertama"echo}echo "Ini adalah fungsi kedua"fungsi myCities () {echo Hello $1}myFunctionmyCities Washington, D.CmyCities Phoenix

Setelah menyimpan dan menjalankan skrip, kami mendapatkan output di bawah ini.

Menu Bash

Saat menulis skrip untuk melakukan tugas lanjutan, Anda mungkin memerlukan pengguna untuk memilih satu opsi dari beberapa opsi yang ditampilkan di Terminal. Untuk mencapai itu, kita akan menggunakan bash select perintah.

Itu membuat skrip menu sederhana yang akan meminta pengguna untuk memilih distribusi Linux favorit mereka dari daftar. Perhatikan script di bawah ini.

#!/bin/bash#Cetak pesan untuk penggunarecho "Pilih Distribusi Linux favorit Anda"pilih distro di Ubuntu Fedora OpenSUSE DeepIN Parrot ArchLinux Kalido#Cetak nilai yang dipilihjika [[ $distro =="Exit" ]]kemudian buka 0elseecho "Distribusi Linux yang dipilih adalah $distro"fidone

Mari simpan skrip sebagai menu.sh dan jalankan. Kami mendapatkan output di bawah ini.

Pada script di atas, kita memiliki daftar Seven Linux distro dari pengguna akan memilih salah satu. Setelah mereka membuat pilihan, itu disimpan dalam variabel distro dan kemudian dicetak dengan menggabungkannya dengan string “Distribusi Linux yang dipilih adalah.” Menu pilih bash bisa sangat berguna, terutama bila Anda memiliki banyak skrip yang melakukan tugas berbeda, dan Anda harus memilih salah satu yang ingin dijalankan.

Aritmatika

Setiap bahasa pemrograman mendukung pelaksanaan operasi aritmatika, dan skrip bash tidak terkecuali. Namun, cara kami melakukan operasi aritmatika sedikit berbeda. Di bawah ini adalah salah satu cara Anda dapat melakukan operasi aritmatika di bash. Kita akan melihat empat jenis operasi aritmatika – Jumlah, pembagian, dan perkalian.

#!/bin/bash# Hitung hasil=$((70+15))# Cetak jumlah nilaiecho "jumlah =$hasil"# Hitung hasil pembagian=$((100/25))# Cetak nilai pembagian gema " pembagian =$result"#Calculate Multiplicationresult=$((15*15))echo "Perkalian =$result"

Mari simpan skrip di atas sebagai arithmetic.sh dan jalankan. Kami mendapatkan output di bawah ini.

Kesimpulan

Itu adalah panduan pemula yang lengkap untuk memulai dengan skrip Bash. Namun, ada lebih banyak Bash selain yang tercakup dalam tutorial ini. Salah satu tempat yang saya rekomendasikan untuk meningkatkan keterampilan Anda adalah Manual Referensi Bash GNU. Jika Anda menghadapi masalah atau komentar pada posting ini, jangan ragu untuk menekan komentar di bawah.


Linux
  1. Tutorial Bash Scripting untuk Pemula:Apa Artinya, Cara Menulis Satu, dan Contoh Script

  2. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  3. Tutorial Perintah Tanggal Linux untuk Pemula (8 Contoh)

  1. Tutorial perintah comm Linux untuk pemula (5 contoh)

  2. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  3. Tutorial Perintah Linux du untuk Pemula (10 Contoh)

  1. Tutorial Perintah gema Linux untuk Pemula (5 Contoh)

  2. Tutorial Perintah Linux env Untuk Pemula (5 Contoh)

  3. Tutorial Perintah ukuran Linux untuk Pemula (6 Contoh)