Shell script

25
Perangkat Lunak Jaringan I SHELL SCRIPT

description

materi plj1

Transcript of Shell script

Page 1: Shell script

Perangkat Lunak Jaringan I

SHELL SCRIPT

Page 2: Shell script

Perangkat Lunak Jaringan I

PENDAHULUANShell script adalah suatu file yang berisi perintah-perintah yang harus dikerjakan oleh Shell dan kemudian dieksekusi dengan cara memanggil file tersebut.

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.

Page 3: Shell script

Perangkat Lunak Jaringan I

MEMBUAT SHELL SCRIPT

Shell script umumnya ditulis dengan menggunakan teks editor, misalnya vim,

nano atau emacs, yang biasanya terdiri dari perintah-perintah dan komentar dan

umumnya diberikan ekstensi “.sh”.

Setiap file script biasanya diawali dengan baris seperti ini : #!/bin/bash yang

artinya script di bawah baris tersebut akan dijalankan dengan interpreter

/bin/bash. Komentar ditandai dengan tanda "#" dan terdiri dari teks yang

memberitahu apa yang terjadi. Berikut ini adalah contoh sebuah shell script

sederhana :

Page 4: Shell script

Perangkat Lunak Jaringan I

CONTOH LAIN

Page 5: Shell script

Perangkat Lunak Jaringan I

Script dijalankan seperti executable file dengan cara

mengetikkan nama file pada prompt. Ada dua hal yang harus

diperhatikan dalam menjalankan script, yaitu : 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.

MENJALANKAN SHELL SCRIPT

Page 6: Shell script

Perangkat Lunak Jaringan I

Page 7: Shell script

Perangkat Lunak Jaringan I

LATIHAN 1

Tulis skript berikut dengan menggunakan editor VI dengan nama coba.

#!/bin/bash

echo “halo $LOGNAME , senang bertemu denganmu”

echo “direktori anda saat ini `pwd`”

echo “anda bekerja di mesin `uname –o`”

Eksekusilah file tersebut, apa yang dihasilkan dari file coba?

Page 8: Shell script

Perangkat Lunak Jaringan I

VARIABEL

Page 9: Shell script

Perangkat Lunak Jaringan I

VARIABEL (2)

Pemberian nilai variable tidak boleh dipisahkan dengan spasi, karena shell akanmenganggap pemisahan tersebut sebagai parameter, contoh :

TI =informatika ##errorTI= informatika ##error

Untuk melihat nilai/isi dari sebuah variable, gunakan tanda $ di depan nama variable tersebut. Pada shell, instruksi echo dapat menampilkan isi variable tersebut,contoh :

TI=informatika echo $TI Gaji=450000 echo $Gaji echo $TI $Gaji

Page 10: Shell script

Perangkat Lunak Jaringan I

VARIABEL (3)

Page 11: Shell script

Perangkat Lunak Jaringan I

Ada dua jenis variabel dalam Shell yaitu variabel lokal dan variabel

environtment\.

•1. Variabel Lokal

Yang dimaksud dengan variabel lokal adalah variabel yang nilainya langsung

diisikan.

Tipe nilai variabel : numerik, karakter atau alphanumerik.

Di dalam memberikan nama sebuah varibel, yang harus diperhatikan adalah

nama variabel berupa karakter alphanumeric atau bisa juga diawali dengan

karakater garisbawah(_), setelah itu baru bisa diikuti dengan jenis karakter yang

lain.

JENIS VARIABEL

Page 12: Shell script

Perangkat Lunak Jaringan I

VARIABEL LOKAL

Contoh penamaan variabel :

Contoh dalam penulisan variabel dan pemberian nilai dalam potongan

program Shell sebagai berikut :

ucapan=selamathasil=duaawal=”tidak ada”echo $ucapanecho $hasilecho $awal

Penamaan variabel yang salah Penamaan variabel yang benar

5nama Nama4_hasil\nilai

_hasil4_nilai

Page 13: Shell script

Perangkat Lunak Jaringan I

Untuk membuat variabel local cukup menyatakannya dengan

keyword “local”.

Contoh:

#!/bin/bashHELLO=Hello function hello {

local HELLO=Worldecho $HELLO

}echo $HELLOhello

echo $HELLO

Page 14: Shell script

Perangkat Lunak Jaringan I

VARIABEL ENVIRONMENT• 2. Variabel Environment

Environment variabel adalah variabel yang merupakan bawaan dari Shell itu

sendiri, biasanya variabel ini berisi nilai-nilai yang merupakan konfigurasi

standar dalam lingkungan program Shell. Aturan penulisan dari environment

variable adalah semua nama variabel menggunakan huruf kapital. lingkup

dari variabel environment adalah bersifat GLOBAL. Artinya variabel

environment berlaku untuk semua Shell yang ada.

Contoh variabel environment adalah sebagai berikut :LOGNAME=shell14 (variabel yang berisi nama login) SHELL=/bin/bash (variabel yang berisi nama shell yang aktif)HOME=/home/shell14 (variabel yang berisi nama direktori user) USER=shell14 (variabel yang berisi nama user)

Page 15: Shell script

Perangkat Lunak Jaringan I

VARIABEL ENVIRONMENT

Untuk mengetahui variabel apa saja yang ada dalam kelompok environment variable

dapat digunakan perintah berikut:

$ env ‘enter’

Merubah nilai variabel environment

Untuk merubah nilai dari variabel environment dapat dilakukan dengan menggunakan

perintah sebagai berikut :

$ export LOGNAME=mrbee ‘enter’

kemudian hasilnya dapat dilihat dengan menggunakan perintah :

$ env | grep “LOGNAME”

Menghapus variabel environment

$ unset LOGNAME

Page 16: Shell script

Perangkat Lunak Jaringan I

META KARAKTER

Metakarakter adalah sebuah karakter yang memiliki arti tertentu.

Dalam Shell juga dikenal beberapa metakarakter.

Karena metakarakter juga ada dalam Shell maka yang perlu

diperhatikan adalah kesalahan dalam penanganan sebuah karakter.

Page 17: Shell script

Perangkat Lunak Jaringan I

METAKARAKTER

Berikut tabel daftar metakarakter yang ada dalam lingkungan

Shell :

Page 18: Shell script

Perangkat Lunak Jaringan I

QUOTING (PENGUTIPAN)

Quoting adalah mekanisme untuk melindungi metakarakter dari

interpretasi sebagai sebuah simbol. Shell juga mempunya beberapa

karakter yang difungsikan untuk melindungi metakarkater agar tetap

diinterpretasikan sebagai karakter biasa. Ada tiga karakter quoting

dalam Shell, yaitu :

1. Backslash ( \ )

2. Petik tunggal ( ' ' )

3. Petik ganda (“ “ )

Page 19: Shell script

Perangkat Lunak Jaringan I

Contoh quoting dalam Shell :$ echo don\’t miss itdon’t miss it

$ echo “don’t miss it”don’t miss it

Keterangan :

1. Tanda \ menandakan katakter ‘ yang mengikuti bukan sebuah

metakarakter

2. Pengunaan tanda petik double “” juga berfungsi melindungi

interpretasi karakter ' sebagai metakarakter

Page 20: Shell script

Perangkat Lunak Jaringan I

INPUT KEYBOARD

Seringkali dalam menulis sebuah script diperlukan input dari user, untuk melakukan hal

tersebut dapat digunakan perintah read.

read adalah sebuah perintah built-in yang membaca input dari terminal atau dari sebuah

file hingga sebuah baris baru. Perintah read memiliki empat buah option untuk

mengendalikan perilakunya : -a, -e,-p, dan -r melalui perintah echo.

Fungsi : untuk membaca data dari keyboard atau file.

Bentuk umum : read var1 var2 ... varn

Keterangan :

1. kata pertama di-assign ke var1, kata kedua ke var2 dan seterusnya.

2. jika jumlah variabel dalam list lebih sedikit dari jumlah data yang dibaca maka sisa

baris disimpan dalam variabel terakhir (varn).

Page 21: Shell script

Perangkat Lunak Jaringan I

OUTPUT

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,

yaitu : \n, \c, \t

Page 22: Shell script

Perangkat Lunak Jaringan I

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

CONTOH 1

Page 23: Shell script

Perangkat Lunak Jaringan I

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

CONTOH 2

Page 24: Shell script

Perangkat Lunak Jaringan I

LATIHAN 2

Buatlah script dengan nama latih2, sehingga menghasilkan

output seperti dibawah ini :

[simserv@linux~]$latih2

Nama anda : “pinguin”

Hi “pinguin”, apa khabarmu

Pesan & kesan :

pake linux pasti asyik - asyik aja

kata “pinguin”, “pake linux pasti asyik - asyik aja”

Page 25: Shell script

Perangkat Lunak Jaringan I

LANJUT SHELL SCRIPT 2