>>>> Shell Script I <<<<


Shell script adalah suatu file yang berisi perintah-perintah yang harus dikerjakan oleh Shell. Perintah dalam suatu script bisa berupa perintah yang dapat diberikan dari prompt atau perintah kendali alir (Flow Control Commands). Perintah kendali alir adalah perintah untuk mengatur urutan eksekusi perintah-perintah dalam suatu script. Perintah kendali alir terbagi dalam dua kelompok, yaitu pencabangan dan pengulangan.

Pengantar Shell Script

> Membuat Shell Script

File script dapat dibuat dengan menggunakan teks editor seperti misalnya vi, pico, joe, gedit, kedit dll. Setiap file script biasanya diawali dengan baris seperti ini : #!/bin/bash yang artinya script di bawah baris tersebut akan dijalankan dengan interpreter /bin/bash. Untuk menandai baris komentar gunakan tanda "#" pada awal baris.

Contoh :

$ cat > myscript

#!/bin/bash

# ini adalah program pertama saya

# baris yang diawali dengan "#" adalah baris komentar

# dan tidak akan dieksekusi oleh shell

who

ls -l myscript

[Ctrl]+[D]

> Menjalankan Shell Script

Script dijalankan seperti executable file dengan cara mengetikkan nama file pada prompt. Ada

dua hal yang harus diperhatikan dalam menjalankan script, yaitu :

1. Direktori tempat script berada harus termasuk dalam search PATH

Gunakan perintah echo $PATH untuk melihat search PATH yang berlaku saat ini

2. File script harus memiliki ijin akses (permission) r dan x.

Ubah dengan perintah chmod jika perlu !

Contoh :

$ echo $PATH

/usr/local/bin:/bin:/usr/bin

$ cd

$ pwd

/home/badu

$ cat myscript

who

ls -l myscript

$ ls –l myscript

-rw-r--r-- 1 badu imt 16 Feb 23 11:29 myscript

$ myscript

bash : myscript : command not found file myscript tidak dapat

ditemukan oleh shell

$ PATH=$PATH:$HOME memasukkan direktori tempat

myscript berada ke dalam

PATH

$ echo $PATH

/usr/local/bin:/bin:/usr/bin:/home/badu

$ myscript

bash : /home/badu/myscript : Permission

denied

file myscript tidak bisa

dieksekusi

$ chmod +x myscript ditambahkan hak eksekusi

$ ls -l myscript

-rwxr-xr-x 1 badu imt 16 Feb 23 11:29 myscript

$ myscript

badu ttyp0 Mar 01 12:47

-rwxr-xr-x 1 badu imt 16 Feb 23 11:29 myscript

Variabel

Variabel merupakan nama yang mewakili suatu harga string. Nama variabel harus diawali dengan alfabet (a..z, A..Z) atau garis bawah/underscore (_) dan tidak boleh diawali dengan angka.

Contoh :

1. Penamaan variabel yang benar

Nama

hari

_jumlah

2. Penamaan variabel yang salah

5hari

2jam

> Menyimpan Harga Variabel

Bentuk umum: Nama_Var=Harga

Keterangan:

Tidak boleh ada spasi di kiri dan kanan "=".

Contoh :


$ jumlah=1

$ temp=/usr/unyil/temp

> Menampilkan Harga Variabel

Perintah echo digunakan untuk menampilkan nilai yang disimpan dalam suatu variabel.

Bentuk umum : echo $Nama_Var

Keterangan:

$ merupakan karakter khusus bagi shell yang menyatakan substitusi variabel.

$Nama_Var berarti substitusi harga yang disimpan dalam variabel bernama Nama_Var pada

posisi tersebut.

Contoh :

$ echo $jumlah

1

$ echo $temp

/usr/unyil/temp

8.2.3. Menghapus Variabel

Caranya : isi dengan NULL

Contoh :

$ nama= atau

$ nama='' atau

$ nama="" atau

$ unset nama

Parameter

> Parameter Posisi (Positional Parameter)

Variabel yang diketikkan pada baris perintah.

Parameter posisi : $0, $1, $2 ... $9

$ perintah parameter1 parameter2 ...

Contoh :

$ cat tetangga

who | grep $1

$ who

unyil ttyp03 Feb 16 08:37

usro ttyp09 Feb 16 09:13

$ tetangga unyil

unyil ttyp03 Feb 16 08:37 variabel $1 akan disubstitusi oleh "unyil" sehingga

program tetangga menjadi who | grep unyil

> Parameter Khusus (Special Parameter)

Variabel yang mempunyai arti khusus bagi shell dan sudah ditentukan oleh shell.

Yang termasuk dalam parameter khusus diantaranya : $#, $*, $@

1. $#

Digunakan untuk menyimpan jumlah parameter yang diketikkan pada baris perintah.

Contoh :

$ cat > arg

echo Nama program = $0

echo Jumlah argumen = $#

echo Argumen1=:$1: Argumen2=:$2: Argumen3=:$3:

[Ctrl]+[D]

$ arg a b c

Nama program = arg

Jumlah argumen = 3

Argumen1=:a: Argumen2=:b: Argumen3=:c:

$ arg

Nama program = arg

Jumlah argumen = 0

Argumen1=:: Argumen2=:: Argumen3=::

$ arg "a b c"

Nama progarm = arg

Jumlah argumen = 1

Argumen1=:a b c: Argumen2=:: Argumen3=::

2. $*

Digunakan untuk menyimpan nilai semua parameter yang diketikkan pada baris perintah.

Contoh :

$ cat > arg2

echo Jumlah argumen = $#

echo yaitu :$*:

[Ctrl]+[D]

$ arg2 a b c

Jumlah argumen = 3

yaitu :a b c:

$ arg2

Jumlah argumen = 0

yaitu ::

3. $@

$0 $1 $2

Fungsinya sama dengan $* kecuali bila dalam kutip ganda ("$@") akan menempatkan setiap argumen posisi dalam kutip ganda.

Contoh:

$ cat > arg3

echo Jumlah argumen = $#

for arg in "$*"

do

echo $arg

done

[Ctrl]+[D]

$ arg3 a b c

Jumlah argumen = 3

a b c

$ arg3 "a b" c

Jumlah argumen = 2

Abc

4. Mengganti "$*" dengan "$@"

Contoh :

$ cat > arg4

echo Jumlah argumen = $#

for arg in "$@"

do

echo $arg

done

[Ctrl]+[D]

$ arg4 a b c

Jumlah argumen = 3

abc

$ arg4 "a b" c

Jumlah argumen = 2

a b

c

> Pengutipan

Karakter khusus adalah karakter yang mempunyai fungsi khusus bagi shell.

Contoh karakter khusus :

? : substitusi nama file

* : substitusi nama file

` : substitusi perintah

$ : substitusi variabel

Pengutipan (quoting) berfungsi untuk mengabaikan fungsi dari karakter khusus.

Terdapat tiga macam pengutipan :

1. Backslash (\)

Hal 44 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

Contoh :

$ echo >

bash: syntax error near unexpected token '>'

$ echo \> > tidak lagi dianggap sebagai karakter pembelokan

2. Kutip Tunggal (' ')

Fungsi : mengabaikan semua karakter khusus di dalamnya, seperti newline, tabs, spasi

Contoh :

$ echo satu dua tiga

satu dua tiga

$ echo 'satu dua tiga'

satu dua tiga

3. Kutip Ganda (" ")

Fungsi : mirip dengan kutip tunggal kecuali tidak mengabaikan :

$ (substitusi variabel)

Back quote/kutip balik (`)

Backslash (\)

Contoh :

$ x=satu

$ echo $x

satu

$ echo '$x'

$x

$ echo "$x"

Satu

> Kutip Balik

ungsinya untuk menjalankan perintah yang ada di dalamnya serta menyisipkan standard

output-nya pada posisi tersebut (command substitution).

Bentuk umum : `perintah`

Contoh :


$ echo Hari ini : `date`

Hari ini : Tue Feb 16 09:34:40 JAVT 1997

> Substitusi Nama File

Karakter Arti

? Match satu karakter

* Match semua karakter

[ ... ] Match pilihan karakter

Contoh :

$ ls -l

total 10

-rw-r--r-- 1 badu imt 20 Mar 12 1999 Test

-rw-r--r-- 1 badu imt 38 Mar 12 1999 cetak

-rw-r--r-- 1 badu imt 18 Mar 12 1999 test

-rw-r--r-- 1 badu imt 18 Mar 12 1999 test1

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test2

$ ls test?

test1 test2

$ ls *

Test cetak test test1 test2

$ ls [Tt]est*

Test test test1 test2

Input dan Output

> read

Fungsi : untuk membaca data dari keyboard atau file.

Bentuk umum :

read var1 var2 ... varn

Keterangan :

kata pertama di-assign ke var1

, kata kedua ke var2 dan seterusnya.

jika jumlah variabel dalam list lebih sedikit dari jumlah data yang dibaca maka sisa baris disimpan dalam variabel terakhir (varn).

Contoh :

1. Membaca data nama dan alamat dari keyboard

$ read nama alamat

dudi depok

2. Menampilkan isi variabel nama

$ echo $nama

Dudi

3. Menampilkan isi variabel alamat

$ echo $alamat

Depok

echo

Fungsi : untuk menampilkan string ke standard output (layar).

Bentuk umum :

echo [-pilihan] arg1 arg2 ... argn

Keterangan :

Setiap argumen dipisahkan oleh satu spasi.

Pilihan yang sering digunakan :

-n : tidak menampilkan baris baru (newline)

-e : untuk menampilkan backslash-escaped characters

Backslash-escaped characters :

Karakter Hasil yang dicetak

\b

\c

\f

\n

\r

backspace

seluruh argumen tanpa new line

formfeed

new line

carriage return

\\

\nnn

karakter backslash

ASCII karakter dengan nnn=3 digit oktal

yang diawali 0

Contoh :

1. Menampilkan isi direktori

$ echo *

bin mail misc

Hal 46 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

2. Menampilkan baris kosong

$ echo

3. Menampilkan tabulasi

$ echo -e "x\ty"

x y

4. Menampilkan baris baru

$ echo -e "\n\nlompati 2 baris"

lompati 2 baris

5. Membuat script untuk menerima input - tanpa escape character

$ cat > masukan1

echo "Nama Anda: "

read nama

echo "Nama anda adalah $nama"

[Ctrl]+[D]

$ masukan1

Nama Anda:

Unyil

Nama anda adalah Unyil

6. Membuat script untuk menerima input - dengan escape character

$ cat > masukan2

echo -e "Nama Anda: \c"

read nama

echo "Nama anda adalah $nama"

[Ctrl]+[D]

$ masukan2

Nama Anda: Unyil

Nama anda adalah Unyil

Pencabangan dengan If

> if

Fungsi : untuk mengambil keputusan perintah mana yang akan dijalankan dari beberapa pilihan

yang ada

Bentuk umum :

if kondisi

then

perintah

perintah

:

fi

if kondisi

then

perintah

perintah

:

else

perintah

perintah

:

Fi

Keterangan :

Kondisi diperoleh sebagai hasil eksekusi program (berupa exit status).

Exit status = 0 maka perintah-perintah antara then dan fi dilaksanakan.

Exit status <> 0

Perintah antara then dan fi dilompati.

Untuk bentuk umum dengan else perintah-perintah antara else dan fi dilaksanakan.

> Exit Status

Modul Pelatihan Linux Fundamental – InfoSolusi Hal 47 / 93

Suatu angka yang menunjukkan sukses atau tidaknya suatu program atau perintah dijalankan.

Exit status = 0 berarti sukses.

Exit status <> 0 berarti gagal.

Exit status dari suatu perintah pipeline adalah exit status dari perintah paling akhir dalam

pipeline.

Variabel $?

$? merupakan variabel penyimpanan exit status dari perintah terakhir.

Contoh :

$ cp file1 file2

$ echo $?

0 SUKSES

$ cp nihil backup

cp: nihil: No such file or directory asumsi file nihil tidak ada

$ echo $?

1 GAGAL

Contoh :

$ cat > on

#

# menentukan user yang sedang login

#

user="$1"

if who | grep "$user"

then

echo "$user sedang login"

else

echo "$user tidak login"

fi

[Ctrl]+[D]

$ who

unyil ttyp03 Feb 16 08:37

usro ttyp09 Feb 16 09:13

$ on unyil

unyil ttyp03 Feb 16 08:37

unyil sedang login

$ on slamet

slamet tidak login

> Bentuk else if

Bentuk else if digunakan jika pilihan yang harus dilaksanakan lebih dari dua.

Bentuk umum :

if kondisi1

then

perintah

perintah

:

else

if kondisi2

then

perintah

perintah

:

else

perintah

perintah

if kondisi1

then

perintah

perintah

:

elif kondisi2

then

perintah

perintah

:

else

perintah

perintah

:

Hal 48 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

:

fi

fi

fi

Evaluasi Kondisi

Fungsi : melakukan testing satu kondisi atau lebih

test

Bentuk umum : test ekspresi atau [ ekspresi ] atau [[ ekspresi ]]

Keterangan :

ekspresi adalah kondisi yang akan ditest

untuk bentuk [ ekspresi ] harus ada spasi setelah tanda "[" dan sebelum tanda "]"

test mengembalikan :

exit status = 0 jika ekspresi bernilai true.

exit status <> 0 jika ekspresi bernilai false.

> Operator String

Operator Menghasilkan exit status=0 jika

string1 = string2 string1 identik dengan string2

string1 !=

string2

string1 tidak identik dengan string2

string string tidak null (test untuk string dengan panjang <> 0)

-n string string tidak null (test untuk string dengan panjang <> 0)

-z string string null (test untuk string dengan panjang = 0)

Contoh :

$ nama="unyil"

$ [ "$nama" = unyil ]

$ echo $?

0 True

$ hari="kamis"

$ [ "$hari" = rabu ]

$ echo $?

1 False

> Operator Integer

Operator Menghasilkan exit status=0 jika

int1 –eq int2 int1 sama dengan int2

int1 –ge int2 int1 lebih besar atau sama dengan int2

int1 –gt int2 int1 lebih besar dari int2

int1 –le int2 int1 lebih kecil atau sama dengan int2

int1 –lt int2 int1 lebih kecil dari int2

int1 –ne int2 int1 tidak sama dengan int2

Keterangan :

Shell tidak akan membedakan tipe harga yang disimpan dalam variabel tetapi test akan

memperlakukan suatu harga sebagai integer jika dibandingkan dengan operator integer.

Contoh :

$ x1="005"

$ x2=" 10"

$ [ "$x1" = 5 ]

$ echo $?

1

Perbandingan string

False

$ [ "$x1" –eq 5 ]

$ echo $?

Perbandingan integer

True

0

$ [ "$x2" = 10 ]

$ echo $?

1

Perbandingan string

False

$ [ "$x2" –eq 10 ]

$ echo $?

0

Perbandingan integer

True

> Operator File

Operator Menghasilkan exit status=0 jika

-d file file adalah direktori

-f file file adalah file biasa (ordinary file)

-L file file adalah symbolic link

-r file file dapat dibaca oleh proses

-s file panjang file <> nol

-w file file dapat ditulis oleh proses

-x file file dapat dijalankan atau dieksekusi

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ -f hasil ]

$ echo $?

0 True

$ [ -d data ]

$ echo $?

0 True

> Operator Logika

1. Operator negasi (!)

Fungsi : me-negasi-kan hasil evaluasi kondisi/ekspresi

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ ! -f hasil ]

$ echo $?

1 False

[ ! "$x1" = "$x2" ] sama hasilnya dengan

[ "$x1" != "$x2" ] yaitu akan true (exit status = 0) jika $x1 tidak

identik dengan $x2

2. Operator and (-a)

Fungsi :

melakukan fungsi logika and terhadap 2 ekspresi

mengembalikan hasil true bila kedua ekspresi benar

Bentuk umum : [ ekspresi1 -a ekspresi2 ]

Hal 50 / 93 Modul Pelatihan Linux Fundamental – InfoSolusi

Keterangan :

Memiliki prioritas lebih rendah dibandingkan dengan operator string, integer dan file.

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ -f hasil -a -d data ]

$ echo $?

0 True

> Operator or (-o)

Fungsi :

melakukan fungsi logika or terhadap 2 ekspresi

mengembalikan hasil true bila salah satu ekspresi benar

Bentuk umum : [ ekspresi1 -o ekspresi2 ]

Keterangan :

Memiliki prioritas lebih rendah dibandingkan dengan operator -a.

Contoh :

$ ls -l

total 6

drwxr-xr-x 2 badu imt 32 Mar 12 1999 data

-rw-r--rw- 1 badu imt 18 Mar 12 1999 hasil

-rw-r--r-- 1 badu imt 20 Mar 12 1999 test

$ [ -d hasil -o -d data ]

$ echo $?

0 True

Pengulangan dengan for

Berfungsi untuk menjalankan sekelompok perintah secara berulang-ulang sesuai dengan jumlah

yang sudah ditentukan.

Bentuk umum :

for dengan list

for var in word1 word2 ... wordn

do

perintah

perintah

:

done

for tanpa list

for var

do

perintah

perintah

:

Done

Keterangan :

Perintah-perintah antara do dan done disebut badan Iterasi (Body Loop)

Pertama kali loop dijalankan, var disubstitusi dengan word1

(atau $1 untuk for tanpa list)

Modul Pelatihan Linux Fundamental – InfoSolusi Hal 51 / 93

lalu badan iterasi dijalankan.

Berikutnya var disubstitusikan dengan word2

(atau $2 untuk for tanpa list) kemudian badan

iterasi dieksekusi lagi dan seterusnya.

Badan iterasi ini dijalankan berulang-ulang dari atas ke bawah sebanyak:

Jumlah word dalam list setelah in

Jumlah argumen pada command line (untuk for tanpa list)

Contoh :

1. For dengan list

$ cat > loop1

for i in 1 2 3

do

echo $i

done

[Ctrl]+[D]

$ loop1

123

2. For tanpa list

$ cat > loop2

for i

do

echo $i

done

[Ctrl]+[D]

$ loop2 1 2 3

123

Shell Script II

Pencabangan dengan case

> case

case berfungsi untuk membandingkan satu harga dengan sejumlah pola.

Bentuk umum :

case harga in

pola1 ) perintah

perintah

:

perintah ;;

pola2 ) perintah

perintah

:

perintah ;;

polan ) perintah

perintah

:

perintah ;;

esac

Keterangan :

case membandingkan harga dengan pola-pola yang ada dari atas ke bawah.

jika ditemukan pola yang tepat maka perintah-perintah untuk pola tersebut dijalankan

(dibatasi ;;).

jika tidak ditemukan maka tidak ada perintah-perintah dalam case yang dijalankan.

case dapat memanfaatkan sejumlah pattern matching character seperti :

*

?

[ … ]

Contoh :

$ cat > ctype

if [ $# -ne 1 ]

then

echo usage : ctype char

exit 1

fi

char=$1

case "$char" in

[0-9] ) echo digit ;;

[a-z] ) echo huruf kecil ;;

[A-Z] ) echo huruf besar ;;

? ) echo karakter khusus ;;

* ) echo ketikkan 1 karakter saja ;;

esac

[Ctrl]+[D]

$ ctype u

huruf kecil

$ ctype '>'

karakter khusus

$ ctype xx

ketikkan satu karakter saja

> Operasi Logika or Antar Dua Pola

Bentuk umum: pola1 | pola2

Keterangan : harga dapat diterima apabila memenuhi salah satu pola.

Contoh :

$ cat > greetings

hour=`date +%H`

case "$hour"

in

0? | 1[01] ) echo "Good morning" ;;

1[2-7] ) echo "Good afternoon" ;;

* ) echo "Good evening" ;;

esac

[Ctrl]+[D]

$ date

Tue Mar 7 10:12:40 JAVT 2000

$ greetings

Good morning

Keterangan :

Perintah date +%H hanya akan menampilkan bagian jam-nya saja dari perintah date.

> Bentuk && (and-if)

Fungsi : mengatur eksekusi perintah berdasarkan exit status perintah sebelumnya.

Bentuk umum : perintah1 && perintah2

Keterangan :

perintah

2

dikerjakan bila perintah

1

menghasilkan exit status = 0, jika tidak maka perintah

2

dilompati (melakukan operasi logika and)

perintah1 && perintah2

hasilnya sama

if perintah1

then

perintah2

fi

Contoh :

$ cat > cari

user="$1"

who | grep "$user" && echo "$user sedang login"

[Ctrl]+[D]

$ who

unyil ttyp01 Feb 15 14:00

badu ttyp01 Feb 15 14:01

$ cari unyil

unyil sedang login

$ cari usro

> Bentuk | | (or-if)

Bentuk umum : perintah1 || perintah2

Keterangan :

Modul Pelatihan Linux Fundamental – InfoSolusi Hal 55 / 93

perintah

2

dikerjakan hanya jika perintah

1

menghasilkan exit status <> 0 (melakukan operasi

logika or)

perintah1 || perintah2

hasilnya sama

if perintah1

then

:

else

perintah2

fi

Keterangan :

Tanda : berarti tidak melakukan apa-apa

Contoh :

$ cat > cari2

user="$1"

who | grep "$user" || echo "$user tidak login"

[Ctrl]+[D]

$ who

unyil ttyp01 Feb 15 14:00

badu ttyp02 Feb 15 14:01

$ cari2 unyil

unyil ttyp01 Feb 15 14:00

$ cari2 usro

usro tidak login

Ekspresi Aritmetika

Operator yang digunakan dalam ekspresi aritmatika :

+ : penjumlahan

- : pengurangan

/ : pembagian

* : perkalian

% : modula (sisa pembagian)

Keterangan :

"+" dan "-" memiliki prioritas yang lebih rendah dibanding tiga operator lain.

setiap operator didahului dan diikuti oleh spasi.

operator "*" harus dikutip agar tidak rancu dengan substitusi file.

> expr

Bentuk umum : expr ekspresi

Contoh :

$ expr 1 + 2

3

$ expr 17 * 6

expr: syntax error

$ expr 17 "*" 6

102

$ expr 17 '*' 6

102

$ expr 17 \* 6

102

Catatan :

Bila hasil dari perintah expr akan disimpan ke dalam suatu variabel maka perintah expr

harus berada di dalam tanda kutip balik.

Contoh :

$ i=1

$ i=`expr $i + 1`

$ echo $i

2

> let

Bentuk umum : let ekspresi

Contoh :

$ i=1

$ let i=i+1

$ echo $i

2

> (( ))

Bentuk umum : (( ekspresi ))

$ i=1

$ ((i=i+1))

$ echo $i

2

Pengulangan dengan while dan until

> while

Bentuk umum :

while kondisi

do

perintah

perintah

:

done

Keterangan :

periksa kondisi

jika exit status = 0 jalankan perintah-perintah antara do dan done

ulangi langkah pertama

jika exit status <> 0 stop

Contoh :

$ cat > selama

i=1

while [ $i –le 4 ]

do

echo $i

let i=i+1

done

[Ctrl]+[D]

$ selama

1234

> true

Perintah true digunakan dalam while apabila menginginkan pengulangan secara terus

menerus.

Contoh :

$ cat > ulang

while true

do

echo "Hallo"

done

[Ctrl]+[D]

$ ulang

Hallo

Hallo

Hallo

[Ctrl]+[C] Tekan Ctrl-C untuk menghentikan program

> until

Bentuk umum :

until kondisi

do

perintah

perintah

:

done

Keterangan :

periksa kondisi

jika exit status <> 0 jalankan perintah-perintah antara do dan done

ulangi langkah pertama

jika exit status = 0 stop

Contoh :

$ cat > hingga

i=1

until [ $i –gt 4 ]

do

echo $i

let i=i+1

done

[Ctrl]+[D]

$ hingga

1234

> false

Perintah false digunakan dalam until apabila menginginkan pengulangan secara terus

menerus.

Contoh :

$ cat > ulang2

until false

do

echo "Hallo"

done

[Ctrl]+[D]

$ ulang2

Hallo

Hallo

Hallo

[Ctrl]+[C] Tekan Ctrl-C untuk menghentikan program

> break

Fungsi : keluar dari pengulangan

Bentuk umum : break n

Keterangan :

keluar dari n loop terdalam

Contoh :

$ cat > potong

i=0

while [ $i -le 4 ]

do

let i=i+1

if [ $i = 3 ]

then

break

fi

echo $i

done

[Ctrl]+[D]

$ potong

12

> continue

Fungsi : melompati sisa perintah dalam loop untuk kembali melanjutkan loop dari atas (kembali

ke pemeriksaan kondisi)

Bentuk umum : continue n

Keterangan :

n loop terdalam dilompati

Contoh :

$ cat > lewat

i=0

while [ $i -le 4 ]

do

let i=i+1

if [ $i = 3 ]

then

continue

fi

echo $i

done

[Ctrl]+[D]

$ lewat

124

> I/O Redirection dalam Pengulangan

Contoh :

$ cat > selama2

i=1

while [ $i –le 4 ]

do

echo $i

let i=i+1

done > hasil

[Ctrl]+[D]

$ selama2

$ cat hasil

1234

Fungsi

Merupakan kumpulan perintah yang dapat dipanggil berulang kali dalam suatu shell script.

Fungsi dieksekusi seperti perintah biasa.

Bentuk Umum :

function nama_fungsi () { perintah; ... perintah; }

atau

nama_fungsi() { perintah; ... perintah; }

Keterangan :

Setelah tanda "{" harus diikuti spasi dan sebelum tanda "}" juga harus didahului spasi

Contoh :

$ cat > fungsi

nu () { who | wc -l; }

[Ctrl]+[D]

$ . fungsi

$ who

unyil ttyp01 Feb 15 14:00

badu ttyp02 Feb 15 14:01

usro ttyp03 Feb 15 14:03

ucrit ttyp04 Feb 15 14:05

$ nu

4

> return

Digunakan untuk menghentikan eksekusi suatu fungsi dan kembali ke program yang

memanggilnya

Bentuk umum : return n

Keterangan :

n = exit status yang ingin dikembalikan

Share this article :

0 comments:

Speak up your mind

Tell us what you're thinking... !

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. My Kampuzzzz - All Rights Reserved
Template Created by Creating Website Inspired by Sportapolis Shape5.com
Proudly powered by Blogger