Belajar Shell Script

Dalam melakukan pekerjaan sehari-hari seperti administrasi file, manajemen file dan keamanan sistem seringkali kita melakukan perintah shell yang sifatnya berulang-ulang padahal hanya menunjukkan fungsi-fungsi yang hampir sama. Alangkah baiknya bila kita bikin sendiri beberapa perintah shell tersebut dengan membuat scriptnya, sehingga waktu yang tersisa bisa untuk mengerjakan hal yang lain, rooting misalnya. Pada artikel ini akan dibahas tentang cara penulisan shell, pemakaian variabel, perintah kondisi, perintah perulangan.

Sebenarnya ada beberapa shell yang biasa digunakan oleh unix mania seperti : – ash = shell linux yang terkecil – ksh = Korn shell yang dibuat oleh om Eric Gisin – tcsh = Shell compatible oleh om Will Joy – zsh = salah satu shell linux terbesar yang dibuat oleh om Paul Falstad Khusus pada pembahasan ini akan digunakan keluarga shell .sh untuk bourne shell, bourne again shell, dan korn shell Script shell dapat diciptakan dengan editor apa saja yang kamu suka, seperti vi, joe, emacs, dan sebagainya dengan nama script shell juga terserah asal memenuhi syarat penamaan file, ok langsung aja contoh menciptakan shell

[gombrex@gombrex.com]# cat skripsatu.sh : echo ” waktu sekarang : ” date

ok kita langsung lakukan eksekusi script awal kita dengan hanya memanggil nama filenya saja

[gombrex@gombrex.com]# skripsatu waktu sekarang : fry fri 27 05:22:12 WIT 1999

Oiya jangan lupa bagi kamu yang belum dikasih permisi akses exe nya mungkin keluar keterangan permission denied, kamu rubah aja dulu dengan chmod misal chmod +x skripsatu VARIABEL Variabel adalah suatu nama yang bisa kamu gunakan untuk menampung nilai dan nilai tersebut dapat diubah. Kita dapat menciptakan sendiri suatu variabel yang kita kehendaki misalnya untuk pekerjaan perhitungan atau tes sistem.

Beberapa variabel bawaan yang terdapat dalam shell misalnya HOME (direktori home user yang bersangkutan), PATH (arah direktori), dan keyboard. contoh variabel

[gombrex@gombrex.com]# cat variabelsatu.sh : echo -n ” nama user :” #

untuk menampilkan isian di layar dengan nama user read nama # masukan keyboard sebagai variabel nama echo “selamat datang $nama ” # menampilkan keluaran di layar dengan variabel nama tadi lalu kita eksekusi

[gombrex@gombrex.com]# variabelsatu nama user : gombrex selamat datang gombrex

Tanda # didalam script tidak akan diproses karena hanya sebuah komentar Perintah kondisi Dalam suatu perintah shell sebenarnya suatu eksekusi dilakukan secara berurutan seperti berikut : perintah 1 perintah 2 perintah 3 perintah n Tetapi seringkali dalam membuat script kita kadang memberikan perintah percabangan dengan kondisi yang menentukan cabang yang akan dijalankan.

Sehingga hal ini memungkinkan suatu perintah atau beberapa perintah hanya dieksukusi kalau kalau suatu kondisi sudah terpenuhi atau bernilai benar seperti perintah if dan case. Ada juga satu perintah built in dalam bash shell yaitu test yang menentukan nilai suatu kondisi. Berikut ini contohnya

[gombrex@gombrex.com]# cat fee.sh : echo ” besarnya pembelian :” read besar if test $besar – lt 50000 then echo “fee = tidak ada ” elif test $besar – lt 100000 then echo “fee = 5000 ” elif test $besar – lt 500000 then echo ” fee = 10000 ” elif test $besar – lt 1000000 then echo ” fee = 150000 ” else echo ” fee = pulsa proxl ” fi #

tes adalah fungsi untuk menguji suatu kondisi string, angka, atau berkas # lt adalah ungkapan bilangan bulat yang maksudnya hasil benar jika int1 kurang dari int2 # praktisnya begini # < 50000 tidak dapat fee # 50000 <= besar <100000 maka feenya 5000 # dan seterusnya coba kita eksekusi

[gombrex@gombrex.com]# fee besarnya pembelian : 100000 fee = 5000

ok deh sekarang kamu perhatikan script berikut dan kamu coba sendiri script ini digunakan untuk Mencari file di sebuah direktori yang telah di akses selama 24 jam terakhir

[gombrex@gombrex.com]#!/bin/sh PRUNE=”” WD=`pwd` if [ $# -ne 2 ]; then echo “Penggunaan: $0 [Direktori Asal] [Direktori Tujuan]” exit fi if [ “x$1″ = “x.” ] || [ “x$1″ = “x$WD” ]; then if [ “x`echo $2 | awk ‘ { print substr( $0, 1, 1); }’`” != “x/” ] && [ “x`echo $2 | awk ‘ { print substr( $0, 1, 2); }’`” != “x..” ]; then if [ “x`echo $2 | awk ‘ { print substr( $0, 1, 2); }’`” == “x./” ]; then DIR=”$2″ else DIR=”./$2″ fi PRUNE=” -path $DIR -prune -o ” fi fi if [ ! -d $2 ]; then echo “bikin direktori $2″ mkdir -p $2 fi if [ -x $2 ] && [ -w $2 ] && [ -d $2 ]; then find $1 $PRUNE -atime -1 -exec cp -p {} $2 \; else echo “Ada masalah dengan akses di direktori tujuan” fi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: