Shell programming
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

Shell Programming PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Shell Programming

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Shell programming

Shell Programming

Oleh:

Idris Winarno


My first shell script

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

  • 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

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 chmoduntuk merubah mode dari file.


Unix shell scripts cont d1

UNIX Shell Scripts (cont’d)

  • Perintah chmod memberi tahu komputer siapa saja yang berhak menggunakan file tersebut: owner (u), group (g), atau otherusers (o)

  • Program Shell berjalan sedikit kurang cepat dari pada compiled programs, karena shell harus menterjemahkan masing-masing perintah UNIX sebelum mengeksekusinya


Pemrograman shell

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 shell1

Pemrograman Shell

  • Semua versi linux menggunakan Bash shell (Bourne Again Shell) sebagai shell standarnya

  • Semua sistem system menyertakan C shell dan Bourne shell.


Pemrograman shell2

Pemrograman Shell

  • Fitur-fitur programming dari UNIX shell:

    • Shell variables

    • Operators

    • Logic structures


Pemrograman shell3

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 shell4

Pemrograman Shell

  • Fitur-fitur programming dari UNIX shell:

    • Shell variables

    • Operators

    • Logic structures


Variables

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

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 d1

Variables (Cont’d)

Untuk melihat daftar dari environment variables:

$ printenv

atau:

$ printenv | more


Variables cont d2

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 d3

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.

    $ setmydir=`pwd`; echo $mydir


Variables cont d4

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 d5

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 shell5

Pemrograman Shell

  • Fitur-fitur programming dari UNIX shell:

    • Shell variables

    • Operators

    • Logic structures


Shell operators

Shell Operators

  • Operator dari Bash shell di bagi menjadi 3 kelompok: operator definisi dan evaluasi, operator aritmatik, dan operator redirect dan piping.


Operator aritmetik

Operator Aritmetik

  • expr mendukung operator berikut ini:

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

    • comparison operators: <, <=, ==, !=, >=, >

    • boolean/logical operators: &, |

    • precedence is the same as C, Java


Operator aritmetik contoh

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 programming1

Shell Programming

  • Fitur-fitur programming dari UNIX shell:

    • Shell variables

    • Operators

    • Logic structures


Shell logic structures

Shell Logic Structures

Empat struktur logika dasar:

  • Sequential logic

  • Decision logic

  • Looping logic

  • Case logic


Sequential 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

  • Decision logic membuat program kita dapat dieksekusi pada kondisi tertentu

  • if statement adalah kontrol keputusan utama pada jenis logika ini.


Decision logic cont d

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 d1

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 d2

Decision Logic (cont’d)

Contoh:

#! /bin/csh

# number is positive, zero or negative

echo "enter a number:"

set number = $<

if ( $number < 0 ) then

echo "negative"

else if ( $number == 0 ) then

echo zero

else

echo positive

endif


Decision logic cont d3

Decision Logic (cont’d)

Contoh:

#!/bin/csh

if {( grep UNIX $argv[1] > /dev/null )} then

echo UNIX occurs in $argv[1]

else

echo No!

echo UNIX does not occur in $argv[1]

endif


Looping logic

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

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 logic1

Looping Logic

while ( expr )

command_set

end

foreach var ( worddlist )

command_set

end


Looping logic2

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 logic3

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

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 logic1

Switch Logic

switch ( var )

case string1:

command_set_1

breaksw

case string2:

command_set_2

breaksw

default

command_set_3

endsw


Switch logic2

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

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

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


  • Login