SlideShare a Scribd company logo
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
MODUL 03
SISTEM OPERASI
LABORATORIUM TEKNIK INFORMATIKA
UNIVERSITAS PASUNDAN
BANDUNG
2014
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
Praktikum III
Shell Programming
I. Dasar Teori
Shell adalah sebuah bahasa penterjemah perintah (command interpreter language) atau
sebuah prosesor makro yang menjalankan perintah. Shell juga dapat berarti interpreter
pertintah yang menjadi antarmuka antara user dengan utilitas dan bahasa pemrograman.
Dengan shell, dapat dibuat sebuah perintah atau file yang berisi perintah-perintah itu sndiri.
Perintah baru tersebut mempunyai status yang sama dan di letakkan pada direktori /bin.
Shell mengizinkan eksekusi perintah secara synchronously dan asynchronously. Shell
menunggu perintah synchronous untuk dilengkapi sebelum menyetujui lebih banyak input,
sedangkan perintah asynchronous terus berjalan dalam paralel dengan shell ketika
membacanya dan menjalankan perinntah tambahan. Shell juga mengenal adanya redirection.
Dengan redirector dapat dilakukan kontrol untuk intput dan output dari perintah yang ada dan
juga melakukan kontrol terhadap isinya. Secara default, shell UNIX juga menyediakan
perintah-perintah buil-in, seperti pwd, cd, kill, histroy, atau utilitas lain yang terpisah.
Sebagai interface dan command interpreter, shell dapat digunakan secara interaktif
maupun noninteraktif. Dangan dua mode tersebut, shell mampu menerima input dari device
(keyboard) atau file. Fitur interaktif yang termasuk di dalamnya adalah kontrol job, history,
alias, dan editor command line.
Hal lain yang menjadikan shell sangat penting adalah shell menyediakan bahasa
pemrograman yang telah disertakan(embeded). Sama halnya dengan bahasa pemrograman
tingkat tinggi laennya, interpreter shell juga menyediakan variabel, flow control, quoting dan
fungsi.
1.1. Macam-macam Shell
Pada UNIX/Linux terdapat berbagai macam shell dengan kelebihan dan kekurangan
masing-masing. Dengan banyaknya variasi shell ini, user bebas memilih shell yang
digunakan. Meskipun kebanyakan sistem operasi telah menentukan sebuah shell sebagai shell
default, tetapi tidak menutup kemungkinan shell lain juga dapat dijalankan. Berikut ini
beberapa macam shell yang umum terdapat dalam sistem operasi UNIX/Linux.
Tujuan Praktikum :
1. Memahami konsep Shell Programming
2. Memahami jenis-jenis variabel dalam Shell
3. Mampu menulis program dengan Shell Programming
4. Memahami konsep Shell Interaktif
5. Mengetahui environment Shell
6. Korn shell (shell /bin/ksh)
7. Public domain korn shell (/bin/pdksh)
8. A shell (/bin/ash)
9. Z shell (/bin/zsh)
1. Bourne Shell (/bin/sh)
2. Bourne Again Shell(/bin/bash)
3. C Shell (/bin/csh)
4. Tenex C Shell (/bin/tcsh)
5. Tcl shell (/bin/tclsh)
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
1.2. Mengganti dan Menjalankan Shell
Linux menggunakan bash sebagai shell default, tetapi pengguna bisa mengubah shell
default untuk tiap usernya. Untuk melihat shell yang sedang digunakan oleh user bisa dilihat
pada file :
Isi dari file tersebut tiap barisnya dibagi menjadi tujuh bagian, dan setiap terakhir
digunakan untuk mendefinisikan shell yang digunakan. Dalam contoh di atas user root
menggunakan shell Bash sedangkan daemon menggunakan shell bourne shell.
Cara lain yang bisa digunakan untuk melihat shell adalah dengan melihat environmet
user dengan menjalankan perintah env. Environment user merupakan lingkungan user yang
berisi semua variabel atau ketentuan khusus untuk user tersebut.
1.2.1. Mengganti Shell
Ada beberapa cara yang dapat digunakan untuk mengubah shell default, yaitu dengan
utilitas userconf, atau dapat juga dengan mengubah pada file /etc/passwd tersebut tetapi harus
sebagai root. Contoh mengganti shell dengan utilitas chsh (change shell) :
1.2.2. Menjalankan Shell
sebuah shell dapat dijalankan tanpa harus mengubah default shell-nya. Cara yang digunakan
adalah dengan memanggil nama shell pada command prompt. Misalnya, user akan
menggunakan shell sh, user tinggal menjalankan shell sh, user tinggal menjalankan sh
sehingga prompt akan berubah sesuai dengan promt Bourne shell.
Untuk keluar dan kembali ke shell default, ketik exit atau tekan Ctrl + d.
Contoh :
/etc/passwd
.................................
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
.................................
$ env
...........
SHELL=/bin/bash
..............
$ chsh
Password:
Changing the login shell for praktikum
Enter the new value, or press ENTER for the
default
Login Shell [/bin/bash]: /bin/sh
bash@praktikum:~$ sh
$
$ exit
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
1.3. Menjalankan Script Shell
Untuk menjalankan sebuah script shell, Ada dua cara yang digunakan untuk menjalankan
sebuah shell script, yaitu
a) Langsung ruuning dari file [dot]sh-nya.
b) Ubah Hak Aksesnya.
1.4. VARIABEL
Variabel adalah sebuah kata yang mempunyai nilai. Shell sebagai sebuah interpreter
juga menyediakan fasilitas atau kemampuan yang memungkinkan user untuk membuat,
mendefinisikan dan menghapus variabel. Sebuah variabel secara umum didefinisikan dengan
sintaks berikut :
1.4.1. Macam-macam Variabel
Ketika sebuah shell dijalankan, akan ada tiga macam variabel yang secara otomatis
dipanggil. Variabel-variabel tersebut adalah :
a) Variabel Lokal
variabel lokal adalah variabel yang ada hanya pada saat masih aktif, dan hanya
dikenal di lingkungan itu sendiri, sehingga variabel lokal hanya berlaku pada lingkungan
dimana variabel tersebut dibuat.
Contoh local variable :
b) Variabel lingkungan
Variabel lingkungan adalah variabel yang terdapat dalam shell dan digunakan dalam
proses anak yang dijalankan oleh shell tersebut. Variabel lingkungan ini bisa berupa dari
variabel lokal yang diekspor. Untuk mengganti variabel lingkungan digunakan perintah
export.
Contoh :
$ chmod +x hello.sh
$ ./hello.sh
$ bash hello.sh
Nama_variabel=isi variabel
#!/bin/bash
HELLO=Hello
function hello {
local HELLO=World
echo $HELLO
}
echo $HELLO
hello
echo $HELLO
$ export LC_LOCAL=id_ID
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
c) Variabel shell
Variabel shell adalah variabel yang ditetapkan oleh shell dan digunakan oleh shell
agar berjalan dengan baik. Sebenarnya, variabel ini bisa dimasukkan dalam kategori variabel
lingkungan. Contoh variabel ini adalah variabel default dari bash, misalnya:
d) Variabel Read-Only
Variabel read-only adalah variabel yang mempunyai atribut read-only, artinya variabel
itu tidak bisa diganti nilainya. Bahkan sebuah variabel tidak bisa dihapus dengan perintah
unset jika sebuah variabel diberi atribut read-only.
1.5. Quoting
Quoting adalah mekanisme untuk melindungi metakarakter dari interpretasi sebagai
sebuah simbol. Shell juga mempunyai 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 ( “ )
Contoh quoting dalam Shell :
Keterangan :
1. Tanda  menandakan katakter ' yang mengikuti bukan sebuah metakarakter
2. Pengunaan tanda petik double “ juga berfungsi melindungi interpretasi
karakter ' sebagai metakarakter
1.6. Metakarakter dalam Shell
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. Dalam sebuah kasus
mencetak sebuah string di layar monitor, terkadang terjadi kasus dimana dari salah satu
karakter dalam string tersebut merupakan metakarater. Karena mengandung metakarakter
maka Shell akan menginterpretasikan string tersebut tidak seperti yang diharapkan.
Contoh kasus :
Keterangan :
1. Tanda ' dinterpretasikan sebagai serangkaian string sehingga Shell akan menunggu
sampai tanda ' berikutnya untuk berhenti dan kemudian menampilkannya.
HOME, PWD, PS1 dan PS2.
$nama=praktikum
$readonly nama
$nama=os
bash:nama:readonly variable
$ echo don't miss it
don't miss it
$ echo “don't miss it”
don't miss it
$ echo don't miss it 'enter'
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
2. Jika maksudnya adalah untuk mencetak string #don#t miss it# maka yang perlu
diperhatikan adalah
Keterangan :
1.  merupakan karakter yang meloloskan interpretasi tanda ' yang merupakan metakarakter
dalam Shell.
2. Karakter  dikenal dengan istilah quoting dalam Shell
1.7. Perintah Echo
Echo adalah perintah untuk menampilkan data yang ada pada argumen ke standard
output (stdout), yang dalam hal ini stdout bisa merupakan layar monitor atau juga sebuah file.
Perintah Echo dalam Shell memiliki opsi-opsi untuk membentuk atau memberikan format
pada data yang dikeluarkan. Sama halnya dengan pemrograman yang lain misalnya bahasa C.
karakter yang digunakan untuk membentuk sebuah format dalam perintah echo biasa disebut
“escape sequences character”.
1.8. Fungsi
Fungsi adalah skrip yang berisi kumpulan perintah yang berada diluar program utama.
Fungsi biasanya berisi perintah-perintah dalam Shell. Tujuan dari adanya fungsi adalah untuk
lebih mengefisiensikan pemangilan sekumpulan perintah yang berulang-ulang pada program
yang dibuat.
Di dalam Shell fungsi juga bisa didefinisikan interaktif maupun secara skrip program,
dan meskipun didefinisikan secara interaktif, sebuah fungsi juga bisa dipanggil melalui skrip
yang dibuat dalam sebuah file dengan catatan fungsi tersebut sudah di export. Setelah melalui
mekanisme export ini sub-shell juga bisa memanggil fungsi tersebut.
Bentuk umum dalam mendefinisikan fungsi dalam BASH Shell adalah sebagai
berikut :
1.9. Array
Pada versi BASH 2.x terdapat fungsi untuk mendefinisikan array satu dimensi. Array
memungkinkan seorang programmer mengkoleksi daftar beberapa nilai dalam sebuah
variabel. Untuk mengektraksi kembali nilai-nilai tersebut dapat dilakukan dengan
menyebutkan nama varibel yang diikuti oleh nomer indek array tersebut.
Pendefinisian sebuah array juga bisa dilakukan on the fly(tanpa mendefinisikan
terlebih dahulu). Dan tidak ada batasan maksimum dari sebuah array yang dibuat dalam
lingkungan BASH Shell. Pada saat sebuah nilai diberikan ke dalam sebuah array yang telah
didefinisikan, indek array secara otomatis akan dimulai dari 0, dan bertambah naik 1 sampai
semua kumpulan nilai-nilai dimasukkan.
$ echo don't miss it 'enter'
don't miss it
nama_fungsi () { command; command; }
function nama_fungsi { command;command; }
function nama_fungsi () { command; command; }
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
II. PERCOBAAN
1. Mulailah menulis program dengan shell, misal “hello word”.
2. Cek konfigurasi lokal sistem anda, jika defaulnya ID ganti ke EN dan
sebaliknya.
3. Cobalah sebagai latihan shell programming.
Untuk percobaan 1, kita gunakan Shell Interaktif
Percobaan 1
- Percobaan 1 adalah shell interaktif dengan menggunakan fungsi if
Untuk percobaan 2 dan seterusnya, kita gunakan akses file.sh
Percobaan 2
- Percobaan 2 s.d. 4 adalah mengakses variabel shell
Percobaan 3
Percobaan 4
$ if grep “root” /etc/passwd
> then
> echo “disini ada user yang bernama root”
> else
> echo “user tersebut tidak ada”
> fi
#!/bin/bash
echo “selamat datang $USER”
echo “di shell programming”
#!/bin/bash
echo “Shell yang digunakan adalah $SHELL”
echo “saat ini jam `date +%T`”
echo “tanggal `date +%D`”
#!/bin/bash
clear
echo “nama login anda $LOGNAME”
echo “saat ini anda berada di direktori `pwd`”
echo “waktu sekarang adalah `date +%T`”
echo “selamat bekerja”
#!/bin/bash
echo “Hello World!”
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
Percobaan 5
- Percobaan 5 terdapat metakarakter untuk perintah dasar linux
Percobaan 6
- Percobaan 6 memasukkan metakarakter perintah dasar linux kedalam
variabel lokal
Percobaan 7
- Percobaan 7 mengatur quoting
Percobaan 8
- Percobaan 8 membuat fungsi
Percobaan 9
- Percobaan 9 variasi pemanggilan variabel
#!/bin/bash
clear
echo “komputer anda telah menyala selama `uptime`”
echo “jumlah user yang login sebanyak `who | wc -l` user”
echo “anda login dengan user $LOGNAME”
echo “di shell $SHELL”
#!/bin/bash
clear
data='date +%D'
jumlah=`who | wc -l`
echo “tanggal $data ada $jumlah user yang login”
#!/bin/bash
user=andi
echo “hai $user i'm glad to meet you”
echo hai $user i#m glad to meet you
echo “apakah kamu punya teman “special”?”
echo “”special” ?? teman apa itu?”
echo “ya pokoknya “special””
#!/bin/bash
function cetak_selamat {
echo “Selamat Datang”
echo “Di Shell Programming”
}
cetak_selamat
#!/bin/bash
data=”halo ini bejo”
sdata=${data#*lo}
tdata=${data%be*}
echo $sdata
echo $tdata
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
Percobaan 10
- Percobaan 10 membuat array
4. Jalankan dan analisa kode dibawah ini, jika masih terdapat kesalahan
betulkan!
while :
do
clear
echo "-------------------------------------"
echo " Main Menu "
echo "-------------------------------------"
echo "[1] Show Todays date/time"
echo "[2] Show files in current directory"
echo "[3] Show calendar"
echo "[4] Start editor to write letters"
echo "[5] Exit/Stop"
echo "======================="
echo -n "Enter your menu choice [1-5]: "
read yourch
case $yourch in
1) echo "Today is date , press a key. . ." ;
read ;;
2) echo "Files in pwd" ; la; echo "Press a
key. . ." ; read ;;
3) cal ; echo "Press a key. . ." ; read ;;
4) vi ;;
5) exit 0 ;;
*) echo "Opps!!! Please select choice 1,2,3,4, or
5"; echo "Press a key. . ." ; read ;;
esac
done
#!/bin/bash
#array
buah=(Melon,Apel,Durian);
echo ${buah[*]};
Modul Praktikum Sistem Operasi
Praktikum III
Ferry Mulyanto , ST
III. TUGAS PRAKTIKUM
A. Tugas Praktikum

More Related Content

PDF
Modul praktikum-so-2013
PDF
Bab8 administrasi text
PDF
Praktikum 3
PDF
Praktikum Sistem Operasi Linux
PDF
Alwin pascal-01
PDF
Modul praktikum sistem operasi
PDF
Pertemuan13
PDF
Praktikum 2
Modul praktikum-so-2013
Bab8 administrasi text
Praktikum 3
Praktikum Sistem Operasi Linux
Alwin pascal-01
Modul praktikum sistem operasi
Pertemuan13
Praktikum 2

What's hot (17)

PDF
Lapres so d_modul3_yuka
PDF
Bab 5 linux shell
DOC
Modul so praktikum
PPT
Materi 2
DOCX
DOCX
Laporan praktikum 1 perintah dasar sistem operasi linux
PDF
Perintah Dasar Sistem Operasi Linux
PDF
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
PPTX
Web programming pertemuan 1
PDF
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
DOCX
Bahasa pemrograman pascal
DOCX
Adm sistem operasi jaringan pertemuan 7
PDF
Modul08 a
PDF
Laporan Sistem Operasi Linux
DOCX
Bpmogrman berorientasi fungsi
PDF
Mod -1_-_so_-_2013-2014
PPTX
mengkonfigurasi jaringan pada sistem operasi
Lapres so d_modul3_yuka
Bab 5 linux shell
Modul so praktikum
Materi 2
Laporan praktikum 1 perintah dasar sistem operasi linux
Perintah Dasar Sistem Operasi Linux
Laporan praktikum i dan ii tentang mengenal perintah dasar linux ubuntu
Web programming pertemuan 1
Laporan Praktikum - Sistem Operasi - Perintah Internal Command
Bahasa pemrograman pascal
Adm sistem operasi jaringan pertemuan 7
Modul08 a
Laporan Sistem Operasi Linux
Bpmogrman berorientasi fungsi
Mod -1_-_so_-_2013-2014
mengkonfigurasi jaringan pada sistem operasi
Ad

Viewers also liked (20)

PDF
UCSY CS Club Week2
PPT
Lesson 1(b) revelation seminars a bible prophecy adventure
PPTX
Theemergingchurchandtheoneprojectpart6 131031013749-phpapp01
PPTX
Music Magazine Analysis (Media AS)
PPT
A soma de deus
PPT
Revival reformation-100729171652-phpapp02 (1)
PPT
DOCX
Word presentació final Pla financer
PPT
Thoughts on gethsemene
PDF
บันทึกการประชุมคณะกรรมการรักษาความมั่นคงและความสงบเรียบร้อยอำเภอเมืองตาก
PPSX
God’s healing way 17
PPTX
8 thesecondcomingofjesuschrist-110909031723-phpapp02
PPTX
التعريف بالمدونات
PPTX
Foundationbudget - out of district reccomendations June 2015
PPT
Rac Audit Presentation- Select Data
PPTX
Promjena smjera vožnje
PDF
176986622 revelation-20
PPT
PDF
Godsroleforwomeninministry 111019085921-phpapp01
PPTX
7trumpets part2-120620205843-phpapp01 (1)
UCSY CS Club Week2
Lesson 1(b) revelation seminars a bible prophecy adventure
Theemergingchurchandtheoneprojectpart6 131031013749-phpapp01
Music Magazine Analysis (Media AS)
A soma de deus
Revival reformation-100729171652-phpapp02 (1)
Word presentació final Pla financer
Thoughts on gethsemene
บันทึกการประชุมคณะกรรมการรักษาความมั่นคงและความสงบเรียบร้อยอำเภอเมืองตาก
God’s healing way 17
8 thesecondcomingofjesuschrist-110909031723-phpapp02
التعريف بالمدونات
Foundationbudget - out of district reccomendations June 2015
Rac Audit Presentation- Select Data
Promjena smjera vožnje
176986622 revelation-20
Godsroleforwomeninministry 111019085921-phpapp01
7trumpets part2-120620205843-phpapp01 (1)
Ad

Similar to Mod -3_-_so_-_2013-2014 (20)

PDF
Lapres so d_modul1_yuka
PPT
Materi kuliah Sistem Operasi Pembelajaran Mengenai Shell
PDF
Lapres so d_modul4_yuka
TXT
orial mini-shell
PDF
Praktikum 6A
PDF
01 tk2123 - pemrograman shell-2
PDF
Meeting 9 pemrograman shell - a
PDF
Lapres so d_modul2_yuka
PDF
Pertemuan7
PDF
Pemrograman shell2
PDF
Meeting7 working with bash shell - a-modul
PDF
Meeting 8-practice5 a-working with bash shell-b-modul
PDF
Praktikum 5B
PDF
Praktikum 6B
PDF
Lapres so d_modul5_yuka
PDF
Sistem operasi pertemuan 9
PDF
Pertemuan10 pemrograman shell - b
PPTX
Presentation - PTKI B - UNIX Operating Sistem
PDF
Os2013 lap6-rizqitohopi
DOCX
Modul1
Lapres so d_modul1_yuka
Materi kuliah Sistem Operasi Pembelajaran Mengenai Shell
Lapres so d_modul4_yuka
orial mini-shell
Praktikum 6A
01 tk2123 - pemrograman shell-2
Meeting 9 pemrograman shell - a
Lapres so d_modul2_yuka
Pertemuan7
Pemrograman shell2
Meeting7 working with bash shell - a-modul
Meeting 8-practice5 a-working with bash shell-b-modul
Praktikum 5B
Praktikum 6B
Lapres so d_modul5_yuka
Sistem operasi pertemuan 9
Pertemuan10 pemrograman shell - b
Presentation - PTKI B - UNIX Operating Sistem
Os2013 lap6-rizqitohopi
Modul1

Mod -3_-_so_-_2013-2014

  • 1. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST MODUL 03 SISTEM OPERASI LABORATORIUM TEKNIK INFORMATIKA UNIVERSITAS PASUNDAN BANDUNG 2014
  • 2. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST Praktikum III Shell Programming I. Dasar Teori Shell adalah sebuah bahasa penterjemah perintah (command interpreter language) atau sebuah prosesor makro yang menjalankan perintah. Shell juga dapat berarti interpreter pertintah yang menjadi antarmuka antara user dengan utilitas dan bahasa pemrograman. Dengan shell, dapat dibuat sebuah perintah atau file yang berisi perintah-perintah itu sndiri. Perintah baru tersebut mempunyai status yang sama dan di letakkan pada direktori /bin. Shell mengizinkan eksekusi perintah secara synchronously dan asynchronously. Shell menunggu perintah synchronous untuk dilengkapi sebelum menyetujui lebih banyak input, sedangkan perintah asynchronous terus berjalan dalam paralel dengan shell ketika membacanya dan menjalankan perinntah tambahan. Shell juga mengenal adanya redirection. Dengan redirector dapat dilakukan kontrol untuk intput dan output dari perintah yang ada dan juga melakukan kontrol terhadap isinya. Secara default, shell UNIX juga menyediakan perintah-perintah buil-in, seperti pwd, cd, kill, histroy, atau utilitas lain yang terpisah. Sebagai interface dan command interpreter, shell dapat digunakan secara interaktif maupun noninteraktif. Dangan dua mode tersebut, shell mampu menerima input dari device (keyboard) atau file. Fitur interaktif yang termasuk di dalamnya adalah kontrol job, history, alias, dan editor command line. Hal lain yang menjadikan shell sangat penting adalah shell menyediakan bahasa pemrograman yang telah disertakan(embeded). Sama halnya dengan bahasa pemrograman tingkat tinggi laennya, interpreter shell juga menyediakan variabel, flow control, quoting dan fungsi. 1.1. Macam-macam Shell Pada UNIX/Linux terdapat berbagai macam shell dengan kelebihan dan kekurangan masing-masing. Dengan banyaknya variasi shell ini, user bebas memilih shell yang digunakan. Meskipun kebanyakan sistem operasi telah menentukan sebuah shell sebagai shell default, tetapi tidak menutup kemungkinan shell lain juga dapat dijalankan. Berikut ini beberapa macam shell yang umum terdapat dalam sistem operasi UNIX/Linux. Tujuan Praktikum : 1. Memahami konsep Shell Programming 2. Memahami jenis-jenis variabel dalam Shell 3. Mampu menulis program dengan Shell Programming 4. Memahami konsep Shell Interaktif 5. Mengetahui environment Shell 6. Korn shell (shell /bin/ksh) 7. Public domain korn shell (/bin/pdksh) 8. A shell (/bin/ash) 9. Z shell (/bin/zsh) 1. Bourne Shell (/bin/sh) 2. Bourne Again Shell(/bin/bash) 3. C Shell (/bin/csh) 4. Tenex C Shell (/bin/tcsh) 5. Tcl shell (/bin/tclsh)
  • 3. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST 1.2. Mengganti dan Menjalankan Shell Linux menggunakan bash sebagai shell default, tetapi pengguna bisa mengubah shell default untuk tiap usernya. Untuk melihat shell yang sedang digunakan oleh user bisa dilihat pada file : Isi dari file tersebut tiap barisnya dibagi menjadi tujuh bagian, dan setiap terakhir digunakan untuk mendefinisikan shell yang digunakan. Dalam contoh di atas user root menggunakan shell Bash sedangkan daemon menggunakan shell bourne shell. Cara lain yang bisa digunakan untuk melihat shell adalah dengan melihat environmet user dengan menjalankan perintah env. Environment user merupakan lingkungan user yang berisi semua variabel atau ketentuan khusus untuk user tersebut. 1.2.1. Mengganti Shell Ada beberapa cara yang dapat digunakan untuk mengubah shell default, yaitu dengan utilitas userconf, atau dapat juga dengan mengubah pada file /etc/passwd tersebut tetapi harus sebagai root. Contoh mengganti shell dengan utilitas chsh (change shell) : 1.2.2. Menjalankan Shell sebuah shell dapat dijalankan tanpa harus mengubah default shell-nya. Cara yang digunakan adalah dengan memanggil nama shell pada command prompt. Misalnya, user akan menggunakan shell sh, user tinggal menjalankan shell sh, user tinggal menjalankan sh sehingga prompt akan berubah sesuai dengan promt Bourne shell. Untuk keluar dan kembali ke shell default, ketik exit atau tekan Ctrl + d. Contoh : /etc/passwd ................................. root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh ................................. $ env ........... SHELL=/bin/bash .............. $ chsh Password: Changing the login shell for praktikum Enter the new value, or press ENTER for the default Login Shell [/bin/bash]: /bin/sh bash@praktikum:~$ sh $ $ exit
  • 4. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST 1.3. Menjalankan Script Shell Untuk menjalankan sebuah script shell, Ada dua cara yang digunakan untuk menjalankan sebuah shell script, yaitu a) Langsung ruuning dari file [dot]sh-nya. b) Ubah Hak Aksesnya. 1.4. VARIABEL Variabel adalah sebuah kata yang mempunyai nilai. Shell sebagai sebuah interpreter juga menyediakan fasilitas atau kemampuan yang memungkinkan user untuk membuat, mendefinisikan dan menghapus variabel. Sebuah variabel secara umum didefinisikan dengan sintaks berikut : 1.4.1. Macam-macam Variabel Ketika sebuah shell dijalankan, akan ada tiga macam variabel yang secara otomatis dipanggil. Variabel-variabel tersebut adalah : a) Variabel Lokal variabel lokal adalah variabel yang ada hanya pada saat masih aktif, dan hanya dikenal di lingkungan itu sendiri, sehingga variabel lokal hanya berlaku pada lingkungan dimana variabel tersebut dibuat. Contoh local variable : b) Variabel lingkungan Variabel lingkungan adalah variabel yang terdapat dalam shell dan digunakan dalam proses anak yang dijalankan oleh shell tersebut. Variabel lingkungan ini bisa berupa dari variabel lokal yang diekspor. Untuk mengganti variabel lingkungan digunakan perintah export. Contoh : $ chmod +x hello.sh $ ./hello.sh $ bash hello.sh Nama_variabel=isi variabel #!/bin/bash HELLO=Hello function hello { local HELLO=World echo $HELLO } echo $HELLO hello echo $HELLO $ export LC_LOCAL=id_ID
  • 5. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST c) Variabel shell Variabel shell adalah variabel yang ditetapkan oleh shell dan digunakan oleh shell agar berjalan dengan baik. Sebenarnya, variabel ini bisa dimasukkan dalam kategori variabel lingkungan. Contoh variabel ini adalah variabel default dari bash, misalnya: d) Variabel Read-Only Variabel read-only adalah variabel yang mempunyai atribut read-only, artinya variabel itu tidak bisa diganti nilainya. Bahkan sebuah variabel tidak bisa dihapus dengan perintah unset jika sebuah variabel diberi atribut read-only. 1.5. Quoting Quoting adalah mekanisme untuk melindungi metakarakter dari interpretasi sebagai sebuah simbol. Shell juga mempunyai 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 ( “ ) Contoh quoting dalam Shell : Keterangan : 1. Tanda menandakan katakter ' yang mengikuti bukan sebuah metakarakter 2. Pengunaan tanda petik double “ juga berfungsi melindungi interpretasi karakter ' sebagai metakarakter 1.6. Metakarakter dalam Shell 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. Dalam sebuah kasus mencetak sebuah string di layar monitor, terkadang terjadi kasus dimana dari salah satu karakter dalam string tersebut merupakan metakarater. Karena mengandung metakarakter maka Shell akan menginterpretasikan string tersebut tidak seperti yang diharapkan. Contoh kasus : Keterangan : 1. Tanda ' dinterpretasikan sebagai serangkaian string sehingga Shell akan menunggu sampai tanda ' berikutnya untuk berhenti dan kemudian menampilkannya. HOME, PWD, PS1 dan PS2. $nama=praktikum $readonly nama $nama=os bash:nama:readonly variable $ echo don't miss it don't miss it $ echo “don't miss it” don't miss it $ echo don't miss it 'enter'
  • 6. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST 2. Jika maksudnya adalah untuk mencetak string #don#t miss it# maka yang perlu diperhatikan adalah Keterangan : 1. merupakan karakter yang meloloskan interpretasi tanda ' yang merupakan metakarakter dalam Shell. 2. Karakter dikenal dengan istilah quoting dalam Shell 1.7. Perintah Echo Echo adalah perintah untuk menampilkan data yang ada pada argumen ke standard output (stdout), yang dalam hal ini stdout bisa merupakan layar monitor atau juga sebuah file. Perintah Echo dalam Shell memiliki opsi-opsi untuk membentuk atau memberikan format pada data yang dikeluarkan. Sama halnya dengan pemrograman yang lain misalnya bahasa C. karakter yang digunakan untuk membentuk sebuah format dalam perintah echo biasa disebut “escape sequences character”. 1.8. Fungsi Fungsi adalah skrip yang berisi kumpulan perintah yang berada diluar program utama. Fungsi biasanya berisi perintah-perintah dalam Shell. Tujuan dari adanya fungsi adalah untuk lebih mengefisiensikan pemangilan sekumpulan perintah yang berulang-ulang pada program yang dibuat. Di dalam Shell fungsi juga bisa didefinisikan interaktif maupun secara skrip program, dan meskipun didefinisikan secara interaktif, sebuah fungsi juga bisa dipanggil melalui skrip yang dibuat dalam sebuah file dengan catatan fungsi tersebut sudah di export. Setelah melalui mekanisme export ini sub-shell juga bisa memanggil fungsi tersebut. Bentuk umum dalam mendefinisikan fungsi dalam BASH Shell adalah sebagai berikut : 1.9. Array Pada versi BASH 2.x terdapat fungsi untuk mendefinisikan array satu dimensi. Array memungkinkan seorang programmer mengkoleksi daftar beberapa nilai dalam sebuah variabel. Untuk mengektraksi kembali nilai-nilai tersebut dapat dilakukan dengan menyebutkan nama varibel yang diikuti oleh nomer indek array tersebut. Pendefinisian sebuah array juga bisa dilakukan on the fly(tanpa mendefinisikan terlebih dahulu). Dan tidak ada batasan maksimum dari sebuah array yang dibuat dalam lingkungan BASH Shell. Pada saat sebuah nilai diberikan ke dalam sebuah array yang telah didefinisikan, indek array secara otomatis akan dimulai dari 0, dan bertambah naik 1 sampai semua kumpulan nilai-nilai dimasukkan. $ echo don't miss it 'enter' don't miss it nama_fungsi () { command; command; } function nama_fungsi { command;command; } function nama_fungsi () { command; command; }
  • 7. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST II. PERCOBAAN 1. Mulailah menulis program dengan shell, misal “hello word”. 2. Cek konfigurasi lokal sistem anda, jika defaulnya ID ganti ke EN dan sebaliknya. 3. Cobalah sebagai latihan shell programming. Untuk percobaan 1, kita gunakan Shell Interaktif Percobaan 1 - Percobaan 1 adalah shell interaktif dengan menggunakan fungsi if Untuk percobaan 2 dan seterusnya, kita gunakan akses file.sh Percobaan 2 - Percobaan 2 s.d. 4 adalah mengakses variabel shell Percobaan 3 Percobaan 4 $ if grep “root” /etc/passwd > then > echo “disini ada user yang bernama root” > else > echo “user tersebut tidak ada” > fi #!/bin/bash echo “selamat datang $USER” echo “di shell programming” #!/bin/bash echo “Shell yang digunakan adalah $SHELL” echo “saat ini jam `date +%T`” echo “tanggal `date +%D`” #!/bin/bash clear echo “nama login anda $LOGNAME” echo “saat ini anda berada di direktori `pwd`” echo “waktu sekarang adalah `date +%T`” echo “selamat bekerja” #!/bin/bash echo “Hello World!”
  • 8. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST Percobaan 5 - Percobaan 5 terdapat metakarakter untuk perintah dasar linux Percobaan 6 - Percobaan 6 memasukkan metakarakter perintah dasar linux kedalam variabel lokal Percobaan 7 - Percobaan 7 mengatur quoting Percobaan 8 - Percobaan 8 membuat fungsi Percobaan 9 - Percobaan 9 variasi pemanggilan variabel #!/bin/bash clear echo “komputer anda telah menyala selama `uptime`” echo “jumlah user yang login sebanyak `who | wc -l` user” echo “anda login dengan user $LOGNAME” echo “di shell $SHELL” #!/bin/bash clear data='date +%D' jumlah=`who | wc -l` echo “tanggal $data ada $jumlah user yang login” #!/bin/bash user=andi echo “hai $user i'm glad to meet you” echo hai $user i#m glad to meet you echo “apakah kamu punya teman “special”?” echo “”special” ?? teman apa itu?” echo “ya pokoknya “special”” #!/bin/bash function cetak_selamat { echo “Selamat Datang” echo “Di Shell Programming” } cetak_selamat #!/bin/bash data=”halo ini bejo” sdata=${data#*lo} tdata=${data%be*} echo $sdata echo $tdata
  • 9. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST Percobaan 10 - Percobaan 10 membuat array 4. Jalankan dan analisa kode dibawah ini, jika masih terdapat kesalahan betulkan! while : do clear echo "-------------------------------------" echo " Main Menu " echo "-------------------------------------" echo "[1] Show Todays date/time" echo "[2] Show files in current directory" echo "[3] Show calendar" echo "[4] Start editor to write letters" echo "[5] Exit/Stop" echo "=======================" echo -n "Enter your menu choice [1-5]: " read yourch case $yourch in 1) echo "Today is date , press a key. . ." ; read ;; 2) echo "Files in pwd" ; la; echo "Press a key. . ." ; read ;; 3) cal ; echo "Press a key. . ." ; read ;; 4) vi ;; 5) exit 0 ;; *) echo "Opps!!! Please select choice 1,2,3,4, or 5"; echo "Press a key. . ." ; read ;; esac done #!/bin/bash #array buah=(Melon,Apel,Durian); echo ${buah[*]};
  • 10. Modul Praktikum Sistem Operasi Praktikum III Ferry Mulyanto , ST III. TUGAS PRAKTIKUM A. Tugas Praktikum