Skip to content

Perintah-perintah lanjutan di Shell programming

July 14, 2007

Mempelajari perintah case
==========================

case nilai in
kondisi_uji1)
perintah
;;
kondisi_uji2)
perintah
;;
esac

pilih_program.sh
#!/bin/bash
echo “Pilihan Program”
echo “1. Firefox”
echo “2. Konqueror”
echo “3. Exit”

read -p “Masukkan pilihan anda : ” pil
case $pil in
#jangan lupa pemberian string $ pada pil
1)echo “Anda memeilih Firefox”
;;
2)echo “Anda memilih Konqueror”
;;
3)echo “Selamat Tinggal”
;;
*)echo “Pilihan anda salah”
;;
#pemberian tanda * diatas, berfungsi bila input tidak sesuai dengan pilihan diatas

esac

contoh lain :

#!/bin/bash
clear
echo “Survey LP3T-NF terhadap minat Pilkada DKI Jakarta”
echo “————————————————-”
echo “Calon gurbernur DKI Jakarta : ”
echo “1. Adang Daradjatun”
echo “2. Fauzi Bowo”
echo “3. Abstain”
read -p “Masukkan pilihan anda : ” pil
case $pil in
1)echo “Anda memilih Adang Daradjatun”
firefox http://www.adang-dani.com &
exit;;
2)echo “Anda memilih Fauzi Bowo”
firefox http ://www.bangfauzi.com &
exit;;
3)echo “Kenapa harus Abstain, Anda bisa merubah Jakarta !!!”;;
esac

PERINTAH PERULANGAN LOOP
========================

while
—–

while kondisi_uji
do
perintah
done

contohnya :

N=1
while [ $N = 1 ];   >>>> kondisi true, maka akan diulang keatas
do
N=$[ N + 1 ]
done

contoh :

#!/bin/bash
clear
echo “Survey LP3T-NF terhadap minat Pilkada DKI Jakarta”
echo “————————————————-”
echo “Calon gurbernur DKI Jakarta : ”
echo “1. Adang Daradjatun”
echo “2. Fauzi Bowo”
echo “3. Abstain”
N=1
while [ $N = 1 ];
do
read -p “Masukkan pilihan anda : ” pil
case $pil in
1)echo “Anda memilih Adang Daradjatun”
firefox http://www.adang-dani.com &
;; >>>>>> kondisi true, maka akan di-loop keatas ( N = 1 )
2)echo “Anda memilih Fauzi Bowo”
firefox http ://www.bangfauzi.com &
;; >>>>>> kondisi true, maka akan di loop keatas ( N=1 )
3)echo “Kenapa harus Abstain, Anda bisa merubah Jakarta !!!”
N=2;; >>>> kondisi false, maka script akan diteruskan dan done !

esac
done

contoh lain :

#!/bin/bash
N=1
while [ $N -le 10 ];
do
echo $N
N=$[N+1]
done
CEK=1
clear
while [ $CEK = 1 ]
do
read -p “masukan username anda : ” user
read -s -p “masukan password anda : ” pass
if [ $user = “arie” ] && [ $pass = “arie” ];
then
sleep 1
clear
echo “Harap tunggu sebentar data sedang di proses”
sleep 1
echo “*”
sleep 1
echo “**”
sleep 1
echo “***”
clear
echo “################”
echo  -e “\nhallo $user ”
echo “###############”
CEK=0
else
echo “username dan password anda masih salah”
fi
done

PERINTAH FOR
=============
1.

#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10;
do
echo $i
done

hasilnya :

[root@lp3tnf13 ~]# ./for.sh
1
2
3
4
5
6
7
8
9
10

2.

#!/bin/bash
for x in adang fauzi sby jk;
do
echo “Calon presiden kita $x”
done

hasilnya :

[root@lp3tnf13 ~]# ./for2.sh
Calon presiden kita adang
Calon presiden kita fauzi
Calon presiden kita sby
Calon presiden kita jk

3.

#!/bin/bash
for (( i=0;i<10;i++));
do
echo $i
done

hasilnya :

[root@lp3tnf13 ~]# ./for3.sh
0
1
2
3
4
5
6
7
8
9

4.

#!/bin/bash
echo “program untuk memasukan banyak user sekaligus”
for user in `cat fileuser`;
do
N=2007
echo “useradd -p $user$N $user”
done
————
[root@lp3tnf13 ~]# cat fileuser
fadhil
Ali
Yogi
Wahyu
Arie
————–
[root@lp3tnf13 ~]# ./for4.sh
program untuk memasukan banyak user sekaligus
useradd -p fadhil2007 fadhil
useradd -p Ali2007 Ali
useradd -p Yogi2007 Yogi
useradd -p Wahyu2007 Wahyu
useradd -p Arie2007 Arie

perintah diatas akan menambah userid baru sesuai dengan list yg ada di fileuser dgn penamaan yang sesuai dengan script.

MEMBUAT BACKUP FILE
===================
berikut adalah script untuk mengkompresi sebuh file atau folder.

#!/bin/bash
read -p “Masukkan letak direktori yang ingin di backup : ” letak
tgl=`date +%F`
letak_file=backup.$tgl.tar.gz
tar -czvf $letak_file $letak
echo “hasil Backup anda $letak_file”

atau

#!/bin/bash
tgl=`date +%F`
letak_file=backup.$tgl.tar.gz
tar -czvf $letak_file $*
echo “hasil Backup anda $letak_file”

From → Linux

One Comment
  1. nuragus permalink

    Wah..wah… manteb mas. Kayaknya mas nya jagoan shell programming ya.

    Bagus tulisannya.

    Keep writing dech!

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: