Nama : Fikri Rizky Wijaya
Nim : 2011-81-077
Seksi : 03
Matkul : Praktikum Sistem Operasi
Nim : 2011-81-077
Seksi : 03
Matkul : Praktikum Sistem Operasi
Pemrograman Bash Shell
Apa itu Pemrograman Bash Shell ?
Setelah mendengar kata-kata pemrograman bash shell,
pasti terbayangkan pemrograman menggunakan terminal yang biasanya
digunakan di Linux. Namun, apa itu sebenarnya pemrograman bash shell? .
Di dalam sub judul ini akan dijelaskan pengertian dari bash shell dan
pemrograman bash shell itu sendiri.
Bash adalah singkatan dari Bourne Again Shell, versi
baru dari Bourne Shell yang dikembangkan oleh Steve Bourne. Bash ini
adalah shell yang paling umum digunakan pengguna Linux. Shell adalah
program yang menjadi jembatan antara perintah yang dimasukkan user
melalui input dari keyboard dengan sistem operasi untuk melakukan
perintah yang dimasukkan user tersebut. Sekarang ini, program seperti
shell ini sudah tergantikan oleh user interface yang lebih mudah
digunakan.
Pemrograman bash shell itu sendiri adalah pemrograman
kumpulan perintah menggunakan script yang ditulis ke dalam bash shell,
sehingga nantinya dapat dieksekusi oleh sistem operasi. Selain bash
shell, ada banyak shell lainnya yang bisa digunakan untuk programming,
namun penggunaan bash lebih fleksibel karena script yang ditulis lebih
kompatibel untuk dibaca dari mesin yang berbeda, distro linux yang
berbeda , atau bahkan sistem operasi yang berbeda. Pemrograman
menggunakan shell terutama bash shell berkembang terus sampai sekarang
karena penggunaannya di kalangan system administrator sangat dibutuhkan.
Bagaimana Konsep dari Pemrograman Bash Shell?
Konsep kerja dari pemrograman bash shell hampir mirip
dengan bahasa pemrograman lainnya. Pemrograman bash shell juga
menggabungkan perintah-perintah untuk memilih suatu kondisi, memproses
suatu I/O, looping, dan membuat fungsi-fungsi yang dapat dijalankan
user. Konsep pemrograman bash shell ini akan mudah dipelajari apabila
kita sudah mengetahui perintah-perintah sederhana yang ada di bash shell
seperti whoami, cd, cat, dan lainnya. Dengan penguasaan
perintah-perintah sederhana ini, pemrograman bash shell akan membuat
pekerjaan user menjadi lebih efektif. Hal penting yang harus diketahui
sebelum menggunakan pemrograman bash shell adalah konsep mengenai
variabel, format syntax dan struktur di dalam pemrograman bash shell itu
sendiri.
Format syntax dan struktur dalam bash shell
programming adalah hal yang paling penting untuk diketahui. Kita dapat
menulis script menggunakan editor seperti vim, emacs, gedit, dan dtpad.
Namun vim dan emacs adalah yang paling cocok karena bisa membantu kita
dalam membenarkan syntax dari script yang kita tulis jika kita
mengaktifkan fiturnya. File script harus disimpan dalam bentuk .sh.
Kemudian di headernya harus diberikan komentar bahwa script ini
merupakan pemrograman berbasis bash shell seperti contoh dibawah ini.
Kemudian untuk menuliskan string harus diapit oleh
tanda petik dan untuk menggunakan variabel agar dapat ditampilkan harus
didahului dengan karakter ‘$’ di depan variabel tersebut.
Untuk menjalankan program yang sudah kita buat kita harus mengubah modenya dulu agar bisa dieksekusi dengan perintah seperti di bawah ini
Untuk menjalankan program yang sudah kita buat kita harus mengubah modenya dulu agar bisa dieksekusi dengan perintah seperti di bawah ini
ls -al untuk melihat mode yang sudah kita ubah seperti di bawah ini. Nama file scriptnya adalah test.sh
Dengan mode seperti di atas maka program test dapat dieksekusi dengan
menggunakan perintah seperti di bawah ini dan tampilannya akan seperti
di bawah ini.
Peraturan mengenai syntax pemrograman sesuai standar POSIX dan ANSI-C.
Variabel adalah sesuatu yang nantinya akan menjadi
masukkan, keluaran dan parameter dari programmer. Variabel di dalam
pemrograman bash shell sama pentingnya dengan variabel dalam bahasa
pemrograman lain. Variabel di dalam bash shell menggunakan huruf kapital
keseluruhan untuk penulisannya. Contohnya adalah PATH, COLOR, dan
sebagainya. Variabel di dalam bash shell terdiri dari tiga jenis yaitu
global variabel (environment variabel) yang berlaku di semua shell,
local variabel yang berlaku di dalam shell yang sedang digunakan dan
user defined variabel yaitu variabel yang dibuat oleh user. Selain
dibagi menjadi tiga jenis tersebut, variabel dapat dibagi berdasarkan
tipe datanya yaitu string, integer, constant, dan array. Cara melihat
global variabel dengan menggunakan perintah env
Cara untuk melihat local variabel (bergabung dengan fungsi-fungsi yang
ada) dengan mengetikkan perintah set. Berikut contoh set dari fungsi
userdel, di dalamnya terdapat variabel bernama COMPREPLY.
Ada nama variabel yang sudah digunakan di dalam bash shell, sehingga
kita tidak bisa menggunakan nama variabel tersebut. Cara membuat dan
mengassign suatu nilai ke dalam variabel dengan deklarasi seperti di
bawah ini
NAMA adalah nama variabel, kemudian diassign dengan value ‘Penguin’, ingat pendeklarasian variabel harus tanpa spasi, case sensitive, dan tidak menggunakan karakter khusus.
Apa Manfaat Pemrograman Bash Shell terutama bagi para System Administrator ?
Pemrograman bash shell memiliki keuntungan dibandingkan shell lain yaitu :
1. Bash shell merupakan shell yang menggabungkan
fitur-fitur yang ada di Korn Shell dan C Shell dengan peningkatan
fitur-fitur yang cocok untuk programming ataupun penggunaan oleh user
secara interaktif. Bash shell menggunakan standard POSIX yang paling
umum digunakan dalam pemrograman shell.
2. Bash shell bisa menjalankan hampir semua file .sh (script) tanpa modifikasi terlebih dahulu
3. Syntax dari bash shell programming sederhana dan tidak
bertele-tele, sama seperti dengan menggabungkan function-function yang
sudah ada di dalam statu file script.
4. Hanya ada sedikit ‘rule’ yang perlu dipelajari untuk menulis program menggunakan bash shell
5. Pemrograman menggunakan shell merupakan salah satu metode untuk prototipe aplikasi yang lebih kompleks lagi.
6. Pemrograman menggunakan shell merupakan pendekatan yang paling
mudah dalam hal problem solving, karena masalah yang kompleks dipecah
menjadi sub-sub masalah yang lebih mudah dipecahkan.
7. Manfaat yang paling penting untuk system administrator adalah
memelihara system dengan command-command yang bisa dijalankan secara
otomatis dan berlaku default untuk semua user tanpa user sendiri yang
harus mensetting environment dari system.
Step by step Programming with Bash Shell
Sama halnya dengan pemrograman lainnya, Bash Shell
programming juga dapat melakukan fungsi-fungsi seperti baca input, tulis
output, looping, condition statement, dan sebagainya. Berikut adalah
langkah-langkah untuk membuat script bash programming
1. Masuk ke terminal
2. Login sebagai root (kita bisa membuat script tanpa harus login sebagai root)
3. Buat script dengan format .sh pada direktori yang diinginkan dengan syntax .ssh
contoh:
keterangan syntax:
vi : untuk membuka editor vi yang akan digunakan untuk menuliskan
script. Penggunaan vi dapat diganti dengan editor lain seperti pico,
nano, dan sebagainya
test : nama file
.sh : format data standard yang digunakan dalam bash programming
test : nama file
.sh : format data standard yang digunakan dalam bash programming
4. Buat script pada editor. Tekan key Insert terlebih dahulu
sebelum menulikan script pada editor. Berikut adalah contoh program
sederhana
Setelah selesai menuliskan script, tekan key Esc untuk keluar dari editor lalu masukkan mode yang diinginkan. Ada beberapa mode yang dapat dilakukan saat akan keluar dari editor:
- :q keluar editor. Jika ada perubahan, maka akan muncul peringatan
- :q! keluar editor tanpa menyimpan perubahan
- :wq: keluar editor dengan menyimpan perubahan yang dilakukan
- :q! keluar editor tanpa menyimpan perubahan
- :wq: keluar editor dengan menyimpan perubahan yang dilakukan
5. Setelah menyimpan perubahan dengan perintah wq ubah dulu mode
dari script agar bisa dieksekusi dengan perintah chmod ut, jalankan
script dengan perintah ./namafile, seperti terlihat dibawah ini
Contoh Implementasi Programming Bash Shell dalam pekerjaan Sys Admin
● Menambah user baru dari file
a. Buat file userlist.txt yang berisi daftar nama user baru yang ingin dibuat
b. Buat file script dengan nama adduser.sh. Tulis script berikut pada editor
Penjelasan script:
Sistem akan membaca daftar nama user baru yang disimpan dalam file userlist.txt satu per satu dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah useradd -m $0 hingga nama user terakhir.
Sistem akan membaca daftar nama user baru yang disimpan dalam file userlist.txt satu per satu dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah useradd -m $0 hingga nama user terakhir.
c. Ubah mode file adduser.sh dengan perintah chmod u+x adduser.sh kemudian eksekusi program dengan perintah ./adduser.sh
d. Cek apakah semua nama user baru telah dibuat dengan perintah cat /etc/group
● Mengubah masa aktif password dari anggota grup
Biasanya sys admin harus mengatur masa aktif password
satu per satu untuk setiap user dengan menjalankan perintah chage.
Bayangkan jika terdapat 1000 user yang harus diubah masa aktif password
nya. Tentu pekerjaan tersebut membutuhkan waktu yang lama. Namun dengan
membuat sebuah script, proses tersebut dapat diotomisasi. Berikut adalah
contoh script untuk mengubah masa aktif user dalam suatu grup.
a. Buat file script dengan nama test.sh. Tulis script berikut pada editor
a. Buat file script dengan nama test.sh. Tulis script berikut pada editor
Penjelasan script:
Sistem akan mengambil semua nama user dalam grup MURID kemudian disimpan dalam file listuser.txt. Selanjutkan sistem akan membaca nama user satu per satu dari fileuser.txt dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah chage -M 100 $0 hingga nama user terakhir. Karena listuser.txt hanya file sementara yang digunakan untuk membantu program ini, maka setelah program selesai file tersebut dihapus.
Sistem akan mengambil semua nama user dalam grup MURID kemudian disimpan dalam file listuser.txt. Selanjutkan sistem akan membaca nama user satu per satu dari fileuser.txt dan disimpan dalam variabel $0. Setelah itu sistem akan menjalankan perintah chage -M 100 $0 hingga nama user terakhir. Karena listuser.txt hanya file sementara yang digunakan untuk membantu program ini, maka setelah program selesai file tersebut dihapus.
b. Ganti mode file agar dapat dieksekusi
c. Eksekusi program
● Mencari file dengan ekstensi tertentu ada dalam sebuah direktori
a. buat file script dengan nama test01.sh. Tulis script berikut pada editor
Penjelasan script:
Program di atas akan melakukan pengecekan apakah dalam suatu direktori terdapat file dengan ekstensi .txt atau tidak. Jika ada file dengan format txt maka akan ditampilkan pesan “File(s) exists.”. Sebalikanya jika tidak ada maka akan muncul pesan “File does not exist”.
Program di atas akan melakukan pengecekan apakah dalam suatu direktori terdapat file dengan ekstensi .txt atau tidak. Jika ada file dengan format txt maka akan ditampilkan pesan “File(s) exists.”. Sebalikanya jika tidak ada maka akan muncul pesan “File does not exist”.
b. Ubah mode file test01.sh kemudian eksekusi file tersebut seperti yang telah dijelaskan di atas.
● Penggunaan Array dan For Loop
Potongan script di atas menunjukan cara penggunaan array dan for loop
dalam bash programming. Program tersebut akan membaca isi file kemudian
disimpan dalam sebuah array. selanjutnya isi file tersebut akan
ditampilkan oleh program sebagai output. Untuk mengeksekusi program
tersebut jalankan perintah ./. Berikut adalah contoh keluaran program
tersebut.
● Membandingkan variabel
Potongan script di atas menunjukan cara membandingkan dua buah variabel
dalam bash programming. Disini hanya dicontohkan 2 tipe variabel yaitu
integer (NUM1 dan NUM2) serta string (S1 dan S2). Berikut contoh
keluaran dari program tersebut.
Daftar Referensi
http://www.arachnoid.com/linux/shell_programming.html
http://www.gnu.org/software/bash/manual/bash.html
http://www.ibm.com/developerworks/aix/library/au-getstartedbash/
http://linuxconfig.org/Bash_scripting_Tutorial
http://linuxcommand.org/lts0010.php
http://linuxcommand.org/wss0010.php#write
http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/system.html
http://www.panix.com/~elflord/unix/bash-tute.html
http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_03_02
http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html#sect_02_01
http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html
Tidak ada komentar:
Posting Komentar