Apa itu bash?
Bash adalah bahasa scripting yang berjalan di dalam terminal pada sebagian besar distro Linux, dan juga MacOS. Script shell adalah urutan perintah bash dalam sebuah file, digabungkan bersama untuk mencapai tugas yang lebih kompleks dari pada satu baris sederhana dan sangat berguna dalam mengotomatiskan tugas sysadmin seperti pencadangan.
Struktur Bash Scripting
Oke, sekarang kita sudah mendapatkan pengenalan singkat tentang apa itu bash dan untuk apa bash digunakan, mari kita langsung masuk ke beberapa contoh!
Pertama-tama mari kita jelaskan strukturnya.
Skrip bash selalu dimulai dengan baris kode berikut di bagian atas skrip.
#!/bin/bash
Ini agar shell Anda (apa pun jenisnya) tahu bahwa ia perlu menjalankan berkas Anda menggunakan bash di terminal.
Mari kita bahas beberapa contoh dasar.
Menampilkan Text Hello World di Terminal
#!/bin/bash
echo "Hello World!"
Ini akan mengembalikan string "Hello World". Perintah "echo" digunakan untuk menampilkan teks ke terminal. Saya sarankan Anda mencoba hal ini di terminal Anda untuk memahami bash!
Menjalankan Perintah Linux di Bash Scripting
Anda juga dapat menjalankan perintah normal Linux di dalam skrip bash Anda dan akan dieksekusi jika diformat dengan benar. Sebagai contoh, kita dapat menjalankan perintah "ls" di dalam skrip bash kita dan kita akan melihat hasilnya ketika kita menjalankan file tersebut. Jadi, ayo kita buat bash untuk melakukan hal ini!
Sekarang untuk menjalankan skrip bash kita, pertama-tama kita harus memberikan izin eksekusi
chmod +x nama-file.sh Dan kemudian kita jalankan dengan menggunakan ./
chmod +x Bash\ Multiple\ Command.sh
./Bash\ Multiple\ Command.sh
Silakan jalankan sendiri dan lihat apa yang Anda dapatkan.
Kita dapat melihat bahwa ia telah mengeluarkan hasil dari perintah "whoami" dan "id".
Variables Bash
Sekarang kita beralih ke variabel di bash, ini cukup sederhana dan kita membuatnya seperti itu:

Di mana kita memberikan nilai angga dan menetapkannya ke variabel name.
Harap diperhatikan bahwa agar variabel dapat berfungsi, Anda tidak boleh meninggalkan spasi di antara name variabel, tanda "=", dan nilai. Keduanya tidak boleh memiliki spasi.
Jadi bagaimana kita sekarang menggunakan variabel kita? Caranya juga sangat sederhana.
Kita harus menambahkan tanda $ di depan nama variabel kita untuk menggunakannya.

Jika kita mengujinya di terminal kita sendiri, kita akan mendapatkan sesuatu seperti ini:
name = "angga"
echo $ nama
angga
Ini akan menampilkan "angga" ke layar terminal.
Variabel mempermudah penyimpanan data dan daripada mengetikkan hal yang sama di beberapa tempat, kita cukup memasukkan variabel kita dengan $var dan kemudian mendeklarasikannya dengan nilai tertentu sehingga lebih mudah untuk kembali ke sana jika Anda melakukan kesalahan dan perlu mengubahnya. Jadi, bagaimana cara men-debug kode kita?
Debug Code Bash
Debugging adalah bagian yang sangat penting dalam pemrograman, jadi kita harus membiasakan diri untuk memecahkan masalah dan memperbaiki kesalahan sedini mungkin. Dan bash memiliki beberapa fitur bawaan yang membuat pekerjaan kita menjadi sederhana.
Saat menjalankan pada baris perintah Anda dapat melakukan:
bash -x ./nama-file.sh
Anda dapat membuat skrip bash sederhana (sekarang Anda tahu beberapa sintaks dasar) dan membuat sesuatu yang benar-benar salah. Kemudian jalankan program Anda dengan mode debug dan lihat seperti apa tampilannya saat terjadi kesalahan!
Ini akan memberi tahu Anda baris mana yang berfungsi dan mana yang tidak. Jika Anda ingin melakukan debug pada titik tertentu, Anda dapat memasukkan set -x ke dalam skrip Anda dan set +x untuk mengakhiri bagian tersebut seperti berikut ini:

Jadi mari kita lihat sebuah contoh. Ini adalah script kita dari sebelumnya yang dijalankan dengan bash -x ./Bash/ Multiple/ Command.sh

Anda dapat melihat outputnya berupa tanda + untuk perintah dan kemudian output dari apa yang dilakukan oleh perintah tersebut. Jika ada kesalahan, ia akan mengeluarkan tanda - pada baris tersebut, sehingga mudah untuk mengetahui di mana letak kesalahan Anda sehingga Anda dapat memperbaikinya.
Kita juga dapat menggunakan beberapa variabel dalam sesuatu seperti pernyataan echo. Anda tidak hanya terbatas menggunakan 1!
Parameters
Sekarang kita akan melihat salah satu fitur utama dari bash, yaitu menggunakan parameter.
Pertama-tama kita akan melihat parameter yang ditentukan menggunakan baris perintah saat menjalankan berkas. Ini datang dalam berbagai bentuk, tetapi sering kali memiliki awalan "$" karena parameter masih berupa variabel.
Satu Argumen
Mari kita mulai dengan mendeklarasikan parameter yang akan menjadi argumen pertama saat menjalankan skrip bash.

Sekarang kita jalankan script kita dengan ./Parameter\ Bash.sh ANGGA
Dan tentu saja kita akan mendapatkan hasil dengan "ANGGA"
Dua Argumen
Jadi bagaimana jika kita menginginkan argumen ke-2? Prosesnya sangat sederhana dan kita cukup menambahkan $2 sebagai pengganti nama=$1
Kemudian jalankan dengan ./Parameter\ Bash.sh ANGGA ANGGI
Menurut Anda, apa yang akan dihasilkannya?
Dan itu akan mengembalikan "ANGGI".
Namun, bagaimana jika kita tidak ingin memberikannya seperti ini, dan sebagai gantinya, kita bisa mengetikkan nama kita dengan cara yang lebih interaktif, kita bisa melakukannya dengan menggunakan read.
Kode ini akan hang setelah dijalankan, ini memberi Anda kesempatan untuk mengetikkan nama Anda.
chmod +x 'Argument Multiline.sh'
./Argument\ Multiline.sh

Dan kita bisa melihat bahwa itu berhasil!
Mungkin Anda bisa mencoba membuat pembuat biografi kecil, di mana Anda mengambil nama, usia, dan pekerjaan sebagai parameter. Simpan di dalam sebuah variabel dan kemudian keluarkan ke layar dalam sebuah kalimat.
Namun masih banyak hal yang bisa Anda lakukan dengan parameter dan saya sarankan Anda untuk bermain-main dengan parameter, bagaimanapun juga latihan akan membuat Anda menjadi lebih baik!
Array
Array digunakan untuk menyimpan beberapa bagian data dalam satu variabel, yang kemudian dapat diekstract dengan menggunakan indeks. Biasanya dinotasikan sebagai var[index_position].
Array menggunakan pengindeksan yang berarti bahwa setiap item dalam array mewakili sebuah angka.
Dalam array ['mobil', 'kereta', 'sepeda', 'bus'], setiap item memiliki indeks yang sesuai.
Semua indeks dimulai dari posisi 0

Sekarang kita telah membahas hal ini, mari kita membuat sebuah array di bash.
Sintaksnya adalah sebagai berikut.
Kita memiliki nama variabel, dalam kasus kita 'transport', Kemudian kita membungkus setiap item dalam tanda kurung dengan menyisakan spasi di antara setiap item.
transport = ('car' 'train' 'bike' 'bus')
Kita kemudian dapat meng-echo semua elemen dalam array kita seperti ini:
echo "${transport[@]}"
Anda dapat mencoba ini di terminal Anda sendiri dan melihat apa yang dihasilkannya.
Di mana "@" berarti semua argumen, dan tanda [] yang melingkupinya menentukan indeksnya.
Jadi bagaimana jika kita ingin mencetak train.
Kita cukup mengetikkan:
echo "${transport[1]}"
karena train berada pada posisi indeks 1.

Hal terakhir yang akan kita bahas adalah jika kita ingin mengubah sebuah elemen, atau menghapusnya. Jika kita ingin menghapus sebuah elemen, kita akan menggunakan utilitas unset.
unset transport[1]
Ini sekarang menghapus item kereta api, jika kita ingin, kita dapat menggabungkannya kembali dan melihat bahwa item tersebut benar-benar hilang.
Sekarang mari kita atur ke sesuatu yang lain. Kita bisa melakukannya:
transport[1] = 'trainride'
Jika kita meng-echo array tersebut maka kita akan mendapatkan:
mobil trainride bike bus

Jadi, kita berhasil menukar sebuah elemen dalam array kita!
Sebagai proyek sampingan, cobalah untuk mengembangkan proyek Anda sebelumnya sebagai pembuat biografi, sertakan array sehingga Anda dapat menyimpan beberapa nama dan beberapa fakta tentang orang tersebut. Kemudian di modul berikutnya kita dapat mengembangkannya lebih jauh lagi.
Dengan menggunakan array tersebut.
Conditionals
Ketika kita berbicara tentang conditionals, itu berarti bahwa suatu bagian dari kode bergantung pada kondisi yang terpenuhi, ini sering ditentukan dengan operator relasional, seperti sama dengan =, lebih besar dari >, dan kurang dari <.
Kita akan membuat pernyataan "if" sederhana untuk memeriksa apakah sebuah variabel sama dengan sebuah nilai, kita juga akan membuat script yang memeriksa apakah sebuah file ada dan dapat ditulis, jika ya kita akan menulis pesan ke file tersebut, jika tidak dapat ditulis maka kita akan menghapusnya dan membuat file yang baru. Banyak hal baru yang akan diajarkan di sini, jadi perhatikan baik-baik.
Pertama, kita akan membahas sintaks dasar dari pernyataan if.
Semua pernyataan if terlihat seperti itu:
Mari kita lihat sebuah contoh:
Pernyataan if selalu menggunakan sepasang tanda kurung dan dalam kasus [] kita harus menyisakan spasi di kedua sisi teks (sintaks bash). Kita juga harus selalu mengakhiri pernyataan if dengan fi

Di sini sebuah variabel dideklarasikan sebagai 10 dan pada baris teratas dari pernyataan if variabel $count dibandingkan dengan bilangan bulat 10.
Jika keduanya sama maka hasilnya benar, jika salah maka hasilnya salah. Seperti yang kita ketahui, 10 sama dengan 10, jadi hasilnya adalah benar.
Tanda -eq adalah salah satu cara untuk melakukan hal ini, Anda juga dapat menggunakan "="
Keterangan
- -eq Mengecek apakah nilai dua operand sama atau tidak; jika ya, maka kondisi menjadi benar.
- -ne Mengecek apakah nilai dua operand sama atau tidak; jika nilai tidak sama, maka kondisi menjadi benar.
- -gt Mengecek apakah nilai operan kiri lebih besar dari nilai operan kanan; jika ya, maka kondisi menjadi benar.
- -lt Mengecek apakah nilai operan kiri lebih kecil dari nilai operan kanan; jika ya, maka kondisi menjadi benar.
- -ge Mengecek apakah nilai operan kiri lebih besar atau sama dengan nilai operan kanan; jika ya, maka kondisi menjadi benar.
Ini adalah beberapa contoh.
Jadi sekarang mari kita gunakan ini untuk membuat script kecil yang membandingkan sebuah input (parameter) dan memeriksanya dengan sebuah nilai untuk mengecek apakah input tersebut benar atau tidak. Sebuah permainan menebak-nebak jika Anda mau.
Sekarang mari kita uji ini di terminal kita.
./conditionals.sh guessme
"They are equal"
./conditionals.sh hi
"They are not equal"
Dan kita bisa melihat bahwa ini berhasil!
Jangan ragu untuk bermain-main dengan ini dan mencoba membuat kombinasi yang berbeda dan menggunakan operator yang berbeda.
Sekarang mari kita buat script lain di mana kita akan menggunakan 2 kondisi secara bersamaan dan kembali ke konsep yang telah kita pelajari di pelajaran pertama.
Mari kita mulai.
Kita ingin membuat sebuah script yang akan kita jalankan pada sebuah file yang diberikan oleh sebuah parameter.
Kita kemudian memeriksa apakah file tersebut ada dan apakah ia memiliki hak akses tulis. Jika memiliki izin tulis maka kita akan mengucapkan "hello" kepadanya. Jika tidak dapat diakses atau tidak ada, kita akan membuat berkas dan mengucapkan "hello" kepadanya. Mari kita mulai!
If Kondisi Pertama
touch hello.txt
./conditionals.sh hello.txt
cat hello.txt
"Hello"
If Kondisi Kedua
./conditionals.sh hello.txt
cat hello.txt
"hello"
Dan kita dapat melihat bahwa itu berhasil!!
Perintah -f mengecek apakah berkas tersebut ada.
-w memeriksa apakah file tersebut dapat ditulis, tanpa izin tulis kita tidak akan dapat menampilkan teks kita ke dalam file.
Untuk menyelesaikan proyek kecil kita dari tugas sebelumnya. Anda dapat mengembangkan script Anda dengan menggunakan pernyataan if/else. Tes untuk melihat apakah usia mereka di bawah 18 tahun, jika ya maka echo nama mereka dengan "Anda tidak memenuhi syarat untuk bekerja" atau sesuatu yang serupa dengan itu, jika mereka lebih dari 18 tahun maka tanyakan pekerjaan mereka, Anda dapat melakukan ini dengan read
Jangan ragu untuk menambahkan apa pun yang kamu suka dan membuatnya serumit yang kamu inginkan dan semoga berhasil dengan proyek kamu!