Embed
Email

Unix - Lecturer

Document Sample

Shared by: Jun Wang
Categories
Tags
Stats
views:
6
posted:
1/11/2012
language:
pages:
39
Shell Programming







Oleh:

Idris Winarno

My first Shell Script



• vi myfirstscript.sh

#! /bin/csh

set directory=`pwd`

echo The date today is `date`

echo The current directory is $directory



• chmod u+x myfirstscript.sh

• myfirstscript.sh

UNIX Shell Scripts



• UNIX shell scripts adalah suatu

sekumpulan teks yang berisi perintah-

perintah UNIX yang berurutan

• Seperti halnya bahasa pemrograman,

programmer membuat script dengan text

editor

• Shell script tidak membutuhkan compiler

• Hal ini terjadi karena UNIX shell seolah-

olah bertingkahlaku seperti interpreter

saat membaca script dari file

UNIX Shell Scripts (Cont‟d)



• Karena bertingkah laku seperti interpreter maka statement

yang ada pada script akan langsung di translasikan pada

instruksi executable dan menyebabkannya untuk langsung

menjalankan executable tersebut

• Setelah anda menulis shell script, anda akan

memberitahukan pada OS bahwa program dapat dijalankan.

• Hal ini dapat dilakukan dengan menggunakan perintah

chmod untuk merubah mode dari file.

UNIX Shell Scripts (cont‟d)



• Perintah chmod memberi tahu komputer

siapa saja yang berhak menggunakan file

tersebut: owner (u), group (g), atau other

users (o)

• Program Shell berjalan sedikit kurang

cepat dari pada compiled programs,

karena shell harus menterjemahkan

masing-masing perintah UNIX sebelum

mengeksekusinya

Pemrograman Shell



Yang umum digunakan pada kebanyakan varian

UNIX adalah:

• Bourne Shell (sh), shell pertama yang dibuat oleh

UNIX

• Bourne Again Shell (bash), dibuat oleh programmer

dari Free Software Foundation, open source shell

dari GNU

• Korn Shell (ksh), dibuat oleh David Korn, pembuat

dari Bourne shell, tidak disebarluaskan.

• C Shell (csh), dibuat oleh Bill Joy, pembuat vi,

mengimplementasikan struktur bahasa C.

• Terminal Based C Shell (tcsh), versi lanjut dari the

Berkeley UNIX C shell (csh)

Pemrograman Shell



• Semua versi linux menggunakan

Bash shell (Bourne Again Shell)

sebagai shell standarnya

• Semua sistem system menyertakan

C shell dan Bourne shell.

Pemrograman Shell



• Fitur-fitur programming dari UNIX

shell:

Shell variables

Operators

Logic structures

Pemrograman Shell



• Fitur-fitur programming dari UNIX shell:

 Shell variables: script anda biasanya sering menyimpan

nilai untuk digunakan kemudian, variabel shell

merupakan nama simbolik yang dapat diakses dari

memori

 Operators: Script Shell mendukung banyak operator,

termasuk operasi matematik

 Logic structures: Script Shell mendukung sequential

logic (untuk menjalankan perintah serial), decision logic

(untuk percabangan), looping logic (untuk proses

looping), dan case logic (untuk proses seleksi)

Pemrograman Shell



• Fitur-fitur programming dari UNIX

shell:

Shell variables

Operators

Logic structures

Variables



• Variables merupakan nama simbolik yang

merepresentasikan nilai yang disimpan di

memori

• Tiga tipe dari variabel adalah

configuration variables, environment

variables, dan shell variables

• gunakan configuration variables untuk

menyimpan informasi tentang setup dari

sistem operasi dan jangan merubahnya.

• Anda dapat merubah environment

variables dengan nilai inisial

Variables (Cont‟d)



• Variabel ini, dimana UNIX membacanya pada

saat anda login, menetapkan banyak

karakteristik dari sesi anda

• Shell variables adalah variabel yang di buat

pada script

• Environment dan configuration variables

memperlihatkan nama standar, seperti HOME,

PATH, SHELL, USERNAME, dan PWD

Variables (Cont‟d)



Untuk melihat daftar dari

environment variables:

$ printenv

atau:

$ printenv | more

Variables (Cont‟d)



1. Ciri khas Environment Variables

– HOME: pathname of your home directory

– PATH: directories where shell is to look for

commands

– USER: your user name

– PWD: your current working directory

– MAIL: pathname of your system mailbox

– SHELL: pathname of your shell

2. Isi dari variable dapat diakses menggunakan „$‟:

Misal: $ echo $HOME

Variables (Cont‟d)



• Cara pemberian variabel adalah

variable=value (kecuali pada C shell).

$ x=37; echo $x

$ 37

$ unset x; echo $x

• C shell menggunakan statement “set”.

$ set x = 37

• Anda dapat meng-set a pathname atau

variabel perintah atau menganti set dari

variable.

$ set mydir=`pwd`; echo $mydir

Variables (Cont‟d)



• Untuk menulis daftar:

$ set Y = (UNL 123 CS251)



• Untuk meng-set elemen daftar:

$ set Y[2] = HUSKER



• Untuk melihat isi dari daftar:

$ echo $Y[2]

Variables (Cont‟d)



• vi myinputs.sh

#! /bin/csh

echo Total number of inputs: $#argv

echo First input: $argv[1]

echo Second input: $argv[2]



• chmod u+x myinputs.sh

• myinputs.sh HUSKER UNL CSE

Pemrograman Shell



• Fitur-fitur programming dari UNIX

shell:

Shell variables

Operators

Logic structures

Shell Operators







• Operator dari Bash shell di bagi menjadi 3

kelompok: operator definisi dan evaluasi,

operator aritmatik, dan operator redirect

dan piping.

Operator Aritmetik



• expr mendukung operator berikut ini:

– arithmetic operators: +,-,*,/,%

– comparison operators: =, >

– boolean/logical operators: &, |

– precedence is the same as C, Java

Operator Aritmetik (contoh)



• vi math.sh

#!/bin/csh

set count=5

set count=`expr $count + 1`

echo $count

• chmod u+x math.sh

• math.sh

Shell Programming



• Fitur-fitur programming dari UNIX

shell:

Shell variables

Operators

Logic structures

Shell Logic Structures



Empat struktur logika dasar:

Sequential logic

Decision logic

Looping logic

Case logic

Sequential Logic



• Statemen Sequential logic adalah

perintah-perintah yang akan dieksekusi

seperti apa yang terlihat terutur pada

program



• Pemberhentian dari urutan program

adalah jika adanya intruksi percabangan.

Decision Logic



• Decision logic membuat program kita

dapat dieksekusi pada kondisi

tertentu

• if statement adalah kontrol

keputusan utama pada jenis logika

ini.

Decision Logic (cont‟d)



• if-then

if ( expr ) simple-command

• if-then-else

if ( expr ) then

command-set-1

[else

command-set-2]

endif

Decision Logic (cont‟d)



• Contoh



#!/bin/csh

if ($#argv != 2) then

echo $0 needs two parameters!

echo You are inputting $#argv parameters.

else

set par1 = $argv[1]

set par2 = $argv[2]

endif

Decision Logic (cont‟d)



Contoh:



#! /bin/csh

# number is positive, zero or negative

echo "enter a number:"

set number = $ /dev/null )} then

echo UNIX occurs in $argv[1]

else

echo No!

echo UNIX does not occur in $argv[1]

endif

Looping Logic



• Pada looping logic, perulangan akan dilakukan

sampai dengan kondisi tertentu tercapai

• Ada dua jenis mekanisme perulangan: for dan

while

• Gunakan perulangan for untuk proses perulangan

dengan nilai jangkauan tertentu.

While Loop



• Cara lain dari proses looping adalah adalah

menggunakan statement while

• Statement while statement digambarkan dengan

suatu loop yang berkelanjutan terus menerus

sampai dengan kondisi tertentu terpenuhi

• Selama statement dalam tanda kurung bernilai

trua maka statement yang ada diantara do dan

done akan terus di ulang-ulang

Looping Logic



while ( expr )

command_set

end



foreach var ( worddlist )

command_set

end

Looping Logic



Program:



#!/bin/csh

foreach person (Bob Susan Joe Gerry)

echo Hello $person

end



Output:

Hello Bob

Hello Susan

Hello Joe

Hello Gerry

Looping Logic



• Penambahan nilai integer dari 1 s/d 10

#!/bin/csh

set i=1

set sum=0

while ($i <= 10)

echo Adding $i into the sum.

set sum=`expr $sum + $i`

set i=`expr $i + 1`

end

echo The sum is $sum.

Switch Logic



• Struktur dari switch logic mempermudah

proses seleksi dari pencocokan ketika

melakukan proses pemilihan



• Memperbolehkan program untuk

mengambil suatu tindakan berdasar pada

nilai suatu variabel

Switch Logic



switch ( var )

case string1:

command_set_1

breaksw

case string2:

command_set_2

breaksw

default

command_set_3

endsw

Switch Logic



#!/bin/csh

if ($#argv == 0 ) then

echo "No arguments supplied...exiting"

else

switch ($argv[1])

case [yY]:

echo Argument one is yes.

breaksw

case [nN]:

echo Argument one is no.

breaksw

default:

echo Argument one is neither yes nor no.

breaksw

endsw

endif

Kesimpulan



• A high-level language harus di konversi

menjadi low-level (machine) language

sebelum komputer mengeksekusinya

• Shell menterjemahkan script UNIX shell

• Script UNIX shell, dibuat dengan vi atau

aplikasi editor lainnya, berisikan

instruksi dimana kita tidak perlu

membuatnya karena intruksi tersebut

telah ada pada sistem operasi.

Kesimpulan (cont‟d)

• Linux shells bersalar dari UNIX Bourne, Korn,

dan C shells

• UNIX terdiri dari 3 jenis tipe variabel:

– Configuration

– Environment

– Shell

• Shell mendukung banyak operator, termasuk

sejumlah operasi matematika.

• Struktur logic yang ada pada shell diantaranya

adalah sequential, decision, looping, dan case



Related docs
Other docs by Jun Wang
Management Two
Views: 6  |  Downloads: 0
Management training Red Cross branch offices
Views: 6  |  Downloads: 0
Management subjekt_ CR
Views: 5  |  Downloads: 0
Management Styles_1_
Views: 22  |  Downloads: 0
Management stratégique
Views: 5  |  Downloads: 0
Management Standards at CARE - CARE Academy
Views: 6  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!