SHELL PROGRAMING
- PEMROGRAMAN SHELL
- SERANGKAIAN PERINTAH LINUX.
- Awal dari program shell, komentarawal ini akan dibaca oleh system, kemudian system mengaktifkan program shell (/BIN/SH)yang tertera disitu. ptogram shell dapat dipilih. misalnya : /BIN/KSH dan lainnya. komentar adalah sebagai dokumentasi, baris ini akan diabaikan oleh program shell. penggunaan variable (assigment), tidak boleh ada spasi diantara nama variable dan konsntanta.
- DASAR-DASAR SHELL PROGRAMMING
- Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah - perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility, seperti :
- cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
- utilitas seperti cat, cut, paste, chmod, lpr,...
- redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:
- ls > data : hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa.
- ls >> data : hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
- cat <
data : file data
dijadikan input oleh perintah cat
- pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:
- ls -l | sort –s : ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-)
- ls -l | sort -s | more
- cat <data | sort > databaru
- Wildcard dengan karakter *, ?, [ ], contohnya:
- ls i* : tampilkan semua file yang dimulai dengan i
- ls i?i : tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
- ls [ab]* : tampilkan file yang dimulai dengan salah satu karakter a atau b
- VARIABLE PADA SHELL
- variable shell adalah variable yang dapat mempunyainilai berupa nilai string.
- tata penulisan variable adalah sebagai berikut: nama_var = nilai_var
- variable harus dimulai dengan alfabet, disusul dengan alfanumerik dan karakter lairn. variable dapat ditulis dalam huruf kecil atau huruf besar atau campuran keduanya. shell membedakan huruf besar dan huruf kecil (case sensitive), contoh :
- vpt =poltek => ##error
- vpt= poltek => ##error
- untuk melihat nilai/isi dari sebuah variable, gunakan tanda $ didepan nama variable tersebut. pada shell, instruksi echo dapat menampilkan isi variable tersebut.
- contoh :
- vpt=poltek
- echo $vpt
- gaji=450000
- echo $gaji
- echo $vpt $gaji
- bila menggunakan string yang terdiri dari lebih dari satu kata, maka string tersebut harus berada dalam tanda kutip atau apostrof, contoh : vpt=poltek, vpt2="poltek elektronika ITS"
- MANAJEMEN INPUT DAN OUTPUT PADA SHELL
- I/O merupakan hal yang mendasar dari kerja komputer karena kapasitas
inilah yang membuat komputer begitu
berdayaguna. I/O yang dimaksud adalah device yang menangani masukan dan
keluaran, baik itu berupa keyboard, floppy, layar monitor,dsb.
sebenarnya kita telah menggunakan proses I/O ini pada contoh -contoh
diatas seperti statement
echo
yang menampilkan teks atau informasi ke layar, atau operasi redirect ke ke file. selainecho
, bash menyediakan perintah builtinprintf
untuk mengalihkan keluaran ke output standard, baik ke layar ataupun ke file dengan format tertentu, mirip statementprintf
kepunyaan bahasaC
atauperl
. berikut contohnya: - INPUT
#!/bin/bash #rd1 echo -n "Nama anda :" read nama; echo "Hi $nama, apa khabarmu"; echo "Pesan dan kesan :"; read echo "kata $nama, $REPLY";
- OUTPUT DENGAN PRINTF
-
#!/bin/bash #pr1 url="pemula.linux.or.id"; angka=32; printf "Hi, Pake printf ala C\n\t\a di bash\n"; printf "My url %s\n %d decimal = %o octal\n" $url $angka $angka; printf "%d decimal dalam float = %.2f\n" $angka $angka
- STRUKTUR KONTROL PADA SHELL
- Statement builtin
if
berfungsi untuk melakukan seleksi berdasarkan suatu kondisi tertentu. - syntax :
if test-command1; then perintah1; elif test-command2; then perintah2; else alternatif_perintah; fi
- contoh script if1:
#!/bin/bash #if1 clear; if [ $# -lt 1 ]; then echo "Usage : $0 [arg1 arg2 ...]" exit 1; fi echo "Nama script anda : $0"; echo "Banyak argumen : $#"; echo "Argumennya adalah: $*";
- statement dalam blok
if...fi
akan dieksekusi apabila kondisiif
terpenuhi, dalam hal ini jika script if1 dijalankan tanpa argumen. kita tinggal membaca apakah variabel$#
lebih kecil (less than) dari 1, jika ya maka eksekusi perintah di dalam blokif ..fi
tsb. perintahexit 1
akan mengakhiri jalannya script, angka1
pada exit adalah status yang menandakan terdapat kesalahan, status 0 berarti sukses, anda dapat melihat isi variabel$?
yang menyimpan nilai status exit, tetapi jika anda memasukkan satu atau lebih argumen maka blokif...fi
tidak akan dieksekusi, statement diluar blokif..fi
lah yang akan dieksekusi. - contoh script if2:
#!/bin/bash kunci="bash"; read -s -p "Password anda : " pass if [ $pass==$kunci ]; then echo "Sukses, anda layak dapat linux" else echo "Wah sorry, gagal nih"; fi
- klausa
else
akan dieksekusi jikaif
tidak terpenuhi, sebaliknya jikaif
terpenuhi makaelse
tidak akan dieksekusi.
- contoh script if3: penyeleksian dengan kondisi majemuk
#!/bin/bash clear echo "MENU HARI INI"; echo "-------------"; echo "1. Bakso "; echo "2. Gado-Gado "; echo "3. Exit "; read -p "Pilihan anda [1-3] :" pil; if [ $pil -eq 1 ]; then echo "Banyak mangkuk ="; read jum let bayar=jum*1500; elif [ $angka -eq 2 ]; then echo "Banyak porsi ="; read jum let bayar=jum*2000; elif [ $angka -eq 3 ]; then exit 0 else echo "Sorry, tidak tersedia" exit 1 fi echo "Harga bayar = Rp. $bayar" echo "THX"
- Array pada shell adalah kumpulan variabel dengan tipe sejenis, dimana array ini merupakan feature Bash yang cukup indah :-) dan salah satu hal yang cukup penting dalam bahasa pemrograman, anda bisa membayangkan array ini sebagai tumpukan buku - buku dimeja belajar. lebih jelasnya sebaiknya lihat dulu contoh script berikut:
#!/bin/bash #array1 buah=(Melon,Apel,Durian); echo ${buah[*]};
- merupakan bagian script atau program yang berisi kumpulan beberapa
statement yang melaksanakan tugas tertentu. dengan subrutin kode script
kita tentunya lebih sederhana dan terstruktur, karena sekali fungsi
telah dibuat dan berhasil maka akan dapat digunakan kapan saja kita
inginkan. beberapa hal mengenai fungsi ini adalah:
- Memungkinkan kita menyusun kode script ke dalam bentuk modul-modul kecil yang lebih efisien dengan tugasnya masing-masing.
- Mencegah penulisan kode yang berulang - ulang.
untuk membuat subrutin shell telah menyediakan keyword
function
seperti pada bahasa C, akan tetapi ini bersifat optional (artinya boleh digunakan boleh tidak).- syntax :
function nama_fungsi() { perintah; }
contoh :
#!/bin/bash function say_hello() { echo "Hello, apa kbabar" } #panggil fungsi say_hello; #panggil sekali lagi say_hello;
Tidak ada komentar:
Posting Komentar