Shell script
-
Upload
yulli-gladhist -
Category
Technology
-
view
1.154 -
download
1
description
Transcript of Shell script
Perangkat Lunak Jaringan I
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.
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 :
Perangkat Lunak Jaringan I
CONTOH LAIN
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
Perangkat Lunak Jaringan I
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?
Perangkat Lunak Jaringan I
VARIABEL
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
Perangkat Lunak Jaringan I
VARIABEL (3)
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
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
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
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)
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
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.
Perangkat Lunak Jaringan I
METAKARAKTER
Berikut tabel daftar metakarakter yang ada dalam lingkungan
Shell :
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 (“ “ )
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
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).
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
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
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
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”
Perangkat Lunak Jaringan I
LANJUT SHELL SCRIPT 2