Pages

Selasa, 10 Desember 2013

Tugas Praktikum Sistem Operasi Ke 6



Shell Programming


  v   Pemrograman Shell
       Shell ialah program yang dibuat khusus yang bisa digunakan untuk berinteraksi dengan kernel. Kernel yang dimaksud adalah kernel sistem operasi yang sedang aktif dan Shell merupakan salah satu dari sekian banyak bahasa pemrograman. Shell memiliki sebuah keunikan tersendiri, Karena berjalan disebuah platform Linux atau Unix, dan memiliki konsep perintah tingkat tinggi. Shell juga dikenal dengan bahasa “command line processing” ini karena sintak yang digunakan didalam pemrograman shell merupakan perintah-perintah dasar dari Linux atau Unix. Selain itu juga sintak Shell dapat langsung dieksekusi langsung pada terminal console Linux atau Unix. Di dalam system operasi Linux atau Unix tipe-tipe shell sangat beragam.

Untuk melihat jenis Shell apa saja yang ada dalam sebuah system operasi Linux dapat dialkukan dengan menuliskan perintah berikut :
$ ls /etc/shells <enter>

Shell apa yang sedang aktif pada saat ini, dapat digunakan perintah berikut :
$ echo $shell <enter>

  v  Dasar-dasar Shell Programming

Sebelum mempelajari pemrograman Bash shell di linux sebaiknya anda telah mengetahui dan menggunakan perintah - perintah dasar shell baik itu internal command yang telah disediakan shell maupun eksternal command atau utility, seperti
·         cd, pwd, times, alias, umask, exit, logout, fg, bg, ls, mkdir, rmdir, mv, cp, rm, clear, ...
·         utilitas seperti cat, cut, paste, chmod, lpr,...
·         redirection (cara mengirim output ke file atau menerima input dari file), menggunakan operator redirect >, >>, <, <<, contohnya:
ls > data
hasil ls dikirim ke file data, jika file belum ada akan dibuat tetapi jika sudah ada isinya akan ditimpa.
hampir sama, bedanya jika file sudah ada maka isinya akan ditambah di akhir file.
file data dijadikan input oleh perintah cat
ouput perintah ls -l (long) menjadi input perintah sort -s (urutkan secara descending), mending pake ls -l -r saja :-)
tampilkan semua file yang dimulai dengan i
tampilkan file yang dimulai dengan i, kemudian sembarang karakter tunggal, dan diakhiri dengan i
tampilkan file yang dimulai dengan salah satu karakter a atau b.
Untuk menyimpan sebuah nilai ke dalam variabel shell,kita dapat lakukan dengan menyebutkan nama variabel shelldengan diikuti oleh karakter sama dengan '=' dan diikutioleh nilai yang ingin disimpan ke dalam variabel tersebut.

$ jumlah=10
$ dir_ku=/usr/mhs/denny 

Untuk menyimpan sebuah nilai ke dalam variabel shell,kita dapat lakukan dengan menyebutkan nama variabel shelldengan diikuti oleh karakter sama dengan '=' dan diikutioleh nilai yang ingin disimpan ke dalam variabel tersebut. 
$ jumlah=10
$ dir_ku=/usr/mhs/denny 

$ jumlah=10 
$ dir_ku=/usr/mhs/denny 
Ada dua hal penting yang perlu diketahui dalampenggunaan variabel shell ini. 
· Tidak diijinkan adanya spasi pada sebelum dan sesudahkarakter sama dengan.

· Shell tidak mengenal tipe data. Dengan demikian,nilai apapun yang kita masukkan akan diartikansebagai untaian karakter. Jadi nilai 10 pada contohdiatas adalah untaian karakter dan bukan integer.

Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :

echo $variabel

Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:

$ echo jumlahjumlah
$ echo $jumlah10

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

· Tidak diijinkan adanya spasi pada sebelum dan sesudahkarakter sama dengan. 
· Shell tidak mengenal tipe data. Dengan demikian,nilai apapun yang kita masukkan akan diartikansebagai untaian karakter. Jadi nilai 10 pada contohdiatas adalah untaian karakter dan bukan integer.

Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :

echo $variabel

Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:

$ echo jumlahjumlah
$ echo $jumlah10

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

· Shell tidak mengenal tipe data. Dengan demikian,nilai apapun yang kita masukkan akan diartikansebagai untaian karakter. Jadi nilai 10 pada contohdiatas adalah untaian karakter dan bukan integer. 
Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :

echo $variabel

Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:

$ echo jumlahjumlah
$ echo $jumlah10

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

Untuk menampilkan isi dari variabel, digunakan perintahecho sebagai berikut :
echo $variabel

Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:

$ echo jumlahjumlah
$ echo $jumlah10

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

echo $variabel 
Kara
kter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut:

$ echo jumlahjumlah
$ echo $jumlah10

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

Karakter $ merupakan karakter khusus yang dikenal olehshell, yang mengartikan bahwa karakter berikutnya adalahnama variabel. Perhatikan contoh berikut: 
$ echo jumlahjumlah
$ echo $jumlah10

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

$ echo jumlahjumlah 
$ echo $jumlah10 
Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo.

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

Contoh pertama menunjukkan bahwa jumlah adalah karakterbiasa, sedangkan pada contoh ke dua jumlah menunjukkan namavariabel sehingga shell akan mensubstitusi variabel tersebutdengan nilai yang tersimpan didalamnya untuk ditampilkan keterminal oleh perintah echo. 
Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut:

$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

Untuk menghapus atau menghilangkan variabel yang telahkita definisikan digunakan perintah unset sebagai berikut: 
$ x=100
$ echo $x
100
$ unset x
$ echo $x (variabel telah hilang !) 

$ x=100 
$ echo $x 
100 
$ unset x 
$ echo $x (variabel telah hilang !) 

ls >> data
cat < data
·         pipa (output suatu perintah menjadi input perintah lain), operatornya : | , contoh:
ls -l | sort -s
ls -l | sort -s | more
cat <data | sort > databaru
·         Wildcard dengan karakter *, ?, [ ], contohnya:
ls i*
ls i?i
ls [ab]*

  v  Variabel-Variabel yang ada pada Shell

·         VARIABEL LOKAL

Variabel lokal ialah variabel yang nilainya langsung diisikan. 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. Dalam pemrograman Shell untuk mendefinisikan sebuah variabel
tidak perlu diberikan bentuk atau jenis variabel tersebut, tidak seperti di pemrograman C atau pemrograman Pascal karena  dimana variabel yang akan dibuat perlu didefinisikan terlebih dahulu tipenya, Dan di dalam lingkup Shell tipe variabel hanya ada satu jenis yaitu tipe string.
Contohnya dalam penulisan variabel dan pemberian nilai dalam potongan program Shell sebagai berikut :
 Nama=Tika
 Hobi=Menyanyi
 Warna Kesukaan=ungu
 echo $Nama
 echo $Hobi
 echo $Warna Kesukaan
 Keterangan:
 Tanda ‘$’ memiliki makna sebagai pengarah bahwa kata tersebut merupakan sebuah variabel yang memiliki nilai.
 Kalau isi mengandung spasi, harus di dalam tanda petik " ".
 Setelah tanda sama dengan ("=") , jangan menggunakan spasi.
 Contoh:
 Nama=Tika (penulisan yang benar)
 Nama= Tika (penulisan yang salah)

·         VARIABEL ENVIRONMENT

Environment variabel merupakan variabel yang bawaan dari Shell itu sendiri, biasanya variabel tersebut berisi nilai-nilai yang merupakan konfigurasi standar dalam lingkungan program Shell. Aturan penulisan dari environment variable ialah 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)

§  Untuk mengetahui variabel apa saja yang ada dalam kelompok environment variable dapat digunakan perintah berikut:
      $ env ‘enter’
§  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”
§  Variabel environment juga bisa dihapus atau dihilangkan dari lingkungan daftar variabel environment dengan menggunakan perintah berikut :
      $ unset LOGNAME

Variabel pada shell  seperti juga bahasa pemrograman lainnya, shell memilikikemampuan untuk menyimpan nilai ke dalam variabel. Sebuahvariabel shell dapat diawali oleh alfabet atau karaktergaris bawah dan diikuti oleh nol atau lebih alfanumerik ataukarakter garis bawah. 


   v  Array pada shell

         Array Pada Shell yaitu sekumpulan variabel dengan tipe jenis dimana array ini merupakan Feature Bash yang cukup indah dan salah satu hal yang cukup penting dalam bahasa pemrograman.

Array 1 : # ! /bin/bash
                 #array1

                 buah = {Angur, Pisang, Jeruk} ;
                 echo $ {buah[*]} ;

Hasilnya : [ fajar@linux$ ] . /array1.
                  Anggur, Pisang, Jeruk


   v  Manajemen Input Output


Output dengan Echo

Kalimat yang mengikuti echo akan ditampilkan di layar, kemudian kursor pindah baris berikutnya tanda (opsi) –n antara echo dengan kalimat digunakan agar kursor tidak pindah ke baris berikutnya. 

Contoh :  
Output dengan Printf




  vFunction Pada Shell :

     Function Pada Shell yaitu suatu program yang dapat dipanggil oleh program lainnya dengan menggunakan notasi nama fungsi(). Fungsi memberikan exit status ($?) uang yang dinyatakan dengan return nr atau nilai 0.

  Contohnya :  $ listdir()

                       {

                        echo "daftar file pada directory 'pwd' adalah :"

                        echo "---------------------------------------"

                        ls -l | more


                        }

                        $ listdir






Tidak ada komentar:

Posting Komentar