Rabu, 06 Januari 2016

Shell Script 2

SHELL SCRIPT 2

Alhamdilillah, Setelah kemarin saya pernah membahas tentang shell script kali ini saya akan membahas tentang lanjutannya yaitu tentang Input Otput, Perulangan IF, dan Perulangan Case. Terima kasih kepada Ibu Yessy selaku dosen pengajar dan juga asisten lab OS atas panduan praktikumnya sehingga saya bisa menyelesaikan artikel ini :)
Langsung Saja . . .

Sedikit Mengingatkan, Shell adalah sebuah program penterjemah perintah sebagai user interface (penghubung) agar user dapat mengakses layanan dari kernel (program inti sistem operasi). Di Shell inilah user akan mengetikkan perintah-perintah yang diinginkan baik itu
perintah internal shell maupun eksternal (file program di luar shell). Shell ada pada semua sistem operasi baik itu Windows, Mac OS, maupun Unix/Linux.
Shell pada sistem operasi Linux banyak macamnya antara lain :
Bourne shell (sh)
C shell (csh)
Korn shell (ksh)
Bourne again shell (bash)
   Jika anda ingin menguasai shell script tentu anda harus tahu dan hafal 
   sedikit banyak perintah dasar command line, seperti mengkopi file(cp), 
   merename file(mv), mencetak string (echo), melihat file(cat), dan beberapa 
   perintah dasar lainnya. 
    
   Shell script juga menyediakan beberapa fitur yang tersedia pada bahasa 
   pemrograman tingkat tinggi seperti variabel, percabangan dan perulangan.  
   Berikut ini adalah contoh sederhana penggunakan shell script: 
    
   0S1@sttpln.edu:~$ nano hello.sh 
   #!/bin/sh 
   echo 'HELLO WORLD' 
    
   Untuk menjalankan ada dua cara, pertama melalui program shell itu sendiri 
    
  0S1@sttpln.edu:~$ sh hello.sh 
    
   Kedua adalah mengeksekusinya secara independen, untuk melakukan hal tersebut 
   anda harus memberi permission 'execute' pada file. 
    
  0S1@sttpln.edu:~$ chmod +x hello.sh 
  0S1@sttpln.edu:~$ ./hello.sh 
   HELLO WORLD 
    
   Baris pertama #!/bin/sh adalah MUTLAK diperlukan dan HARUS diletakkan pada 
   BARIS PERTAMA agar file yang anda buat dikenali sistem sebagai shell script.  
   Tanda '#!' sering disebut 'shebang' operator. Tanda tersebut menandakan  
   bahwa file tersebut adalah shell script. Sisanya misal '/bin/sh' adalah 
   lokasi file binari atau program. Dalam contoh kita menggunakan program 
   bash '/bin/sh' atau '/bin/bash'. 
    
   Tanda # jika tidak terletak pada baris dan kolom paling awal akan dianggap 
   sebagai komentar oleh shell. 
    
------------ 
1.1 Variabel 
------------ 

   Pemberian variabel pada shell script bersifat 'dynamic typing' karena 
   shell script tidak mengenal adanya tipe data. Pada shell script dikenal 
   dua istilah variabel yaitu SYSTEM VARIABLE(SV) dan USER DEFINED VARIABLE  
   (UDV). SV adalah kumpulan variabel yang telah dideklarasikan secara otomatis 
   oleh shell, sedangkan UDV adalah variabel yang kita buat sendiri. Contoh dari 
   variabel SV adalah HOME, SHELL, RANDOM, OSTYPE, dan masih banyak yang lain. 
    
   Dalam membuat variabel ada beberapa aturan yang harus dipenuhi agar variabel 
   tersebut dianggap valid oleh shell, syntax untuk penamaan variabel adalah: 
    
   nama_variabel=NILAI 
    
   Perhatikan bahwa tidak ada spasi antara nama_variabel dengan tanda '=' juga 
   dengan NILAI. Ini adalah suatu KEHARUSAN. Berikut adalah beberapa aturan 
   tentang penamaan variabel: 
    
   1. Variabel HARUS diawali ABJAD atau _ (tidak dapat diawali angka) 
   2. Variabel dapat terdiri dari karakter alphanumeric dan _ 
   3. Variabel bersifat CaSe SeNsItIvE 
   4. Jika isi variabel mengandung spasi sebaiknya apit dengan tanda petik (') 
      atau ("). 
   5. Gunakan escape character (\) untuk karakter non-literal  
      seperti (\', \$, \?, dll) 
    
   Untuk mencetak nilai dari suatu variabel digunakan tanda dollar ($) didepan 
   nama variabel, contoh: 
    
  0S1@sttpln.edu:~$  a='Hello ' 
  0S1@sttpln.edu:~$  b='World!' 
  0S1@sttpln.edu:~$ echo $a$b 
   Hello World! 
  0S1@sttpln.edu:~$ echo ${a}${b} 
   Hello World! 
    
   Cara yang terakhir adalah cara yang disarankan untuk menghindari kesalahan 
   dalam melakukan concat string. 
    
   Jika anda ingin menyimpan output dari suatu perintah kedalam suatu variabel  
   gunakan tanda backtick (`). Contoh, kita akan melihat isi direktori home 
   lalu menyimpannya dalam variabel isi_home. 
    
  0S1@sttpln.edu:~$  isi_home=`ls /home` 
  0S1@sttpln.edu:~$  echo $isi_home 
    
   Dalam shel juga terdapat SPECIAL VARIABEL untuk mendapatkan exit status dari 
   suatu program. Pada UNIX setiap program dinyatakan selesai TANPA error  
   apabila exit statusnya SAMA DENGAN 0. Selain itu maka program tersebut 
   selesai tapi dengan error. Variabel tersebut adalah "$?". 
    
  0S1@sttpln.edu:~$  ls /home 
  0S1@sttpln.edu:~$ echo $? 
   0 
  0S1@sttpln.edu:~$ ls /file/ngawur 
  0S1@sttpln.edu:~$ echo $? 
   2 
    
   Angka 2(TIDAK SAMA DENGAN 0) menunjukkan bahwa program ls keluar dengan 
   status terjadi error. Penggunaan exit sangat penting saat kita membuat 
   shell script yang kompleks, dimana didalamnya kita banyak menggunakan 
   program lain. 
    
---------------------------------------------
1.2 Command Line dan Argument 
---------------------------------------------

   Ketika berbicara shell script kita pasti berhubungan dengan command line.  
   Apabila berbicara tentang command line pasti berhubungan dengan argument. 
   Apaliba berbicara tentang argument.....cukup....cukup.... nanti malah sampai 
   sejarah kerajaan majapahit nantinya :) 
    
   Perintah-perintah command line umumnya memerlukan minimal satu buah argumen 
   agar dapat mengerjakan tugasnya secara optimal. Apa itu argument? secara 
   sederhana argumen adalah text/character yang ditempatkan setelah nama program 
   dengan pemisah minimal satu spasi.  
    
   Contoh berikut mengilustrasikan pemberian dua argument pada perinta copy file 
   `cp`. Perintah cp memerlukan dua argument yaitu 1)lokasi file awal 
   2)lokasi file tujuan
    
   0S1@sttpln.edu:~$  cp /foo/bar /tmp/bar 
                            ^       ^ 
                      argument-1  argument-2 
    
   Pada sistem Linux dikenal dua istilah argument short style(UNIX style) dan 
   long style(GNU Style). Hampir setiap program command line pada linux 
   menyediakan dua opsi tersebut saat memberikan argument. Penulisan argument  
   UNIX style biasanya hanya terdiri dari satu huruf contoh '-l' pada perintah 
   `ls`.  
    
  0S1@sttpln.edu:~$ ls -l 
    
   Sedangkan GNU style umumnya terdiri dari minimal sebuah kata contoh 
   '--all' pada perintah `ls`. 
    
  0S1@sttpln.edu:~$ ls --all 
    
   Untuk membaca argument dalam shell script digunakan special variabel yaitu 
   $0, $1, $2,...$9. Variabel $0 adalah nama program itu sendiri. 
    
   CATATAN: 
   Untuk mengetahui jumlah argument yang diinputkan user gunakan variabel $#, 
   sedangkan untuk mendapatkan seluruh argument gunakan variabel $*. 
    

---------------------------------
1.3 Perhitungan Aritmatik 
---------------------------------

   Untuk melakukan perhitungan aritmatik, shell tidak memiliki kemampuan 
   built-in, tetapi meminta bantuan program lain yaitu `expr`. Program expr 
   berfungsi untuk mengevaluasi suatu expresi baik itu perbandingan string 
   atau operasi aritmatik sederhana. 
    
   Operator aritmatik yang disediakan expr antaran lain: 
   +-----------+-----------------------------------------------------------+ 
   | Operator  | KETERANGAN                                            | 
   +-----------+-----------------------------------------------------------+ 
   |     +     | Operator Penjumlahan contoh: expr 1 + 1        | 
   +-----------+-----------------------------------------------------------+ 
   |     -      | Operator Pengurangan contoh: expr 10 - 9      |  
   +-----------+-----------------------------------------------------------+ 
   |     *      | Operator Perkalian contoh: expr 10 \* 10         | 
   +-----------+-----------------------------------------------------------+ 
   |     /       | Operator Pembagian contoh: expr 10 / 2         | 
   +-----------+-----------------------------------------------------------+ 
   |     %     | Operator Modulus contoh: expr 15 % 3           | 
   +-----------+-----------------------------------------------------------+ 
    
   Selain digunakan untuk perhitungan aritmatik, perintah `expr` juga cukup 
   handal untuk melakukan manipulasi string, untuk lebih jelas silahkan lihat 
   halaman manual dari expr dengan mengetikkan `man expr`. 

-------------------
1.4 User Input 
-------------------
 
   Selain melalui argument pada command line, cara lain untuk mendapatkan input 
   dari user adalah melalui STANDARD INPUT (STDIN). Dimana user langsung  
   mengetikkan isi dari suatu nilai yang program inginkan. 
    
   Untuk mendapatkan input dari user dapat digunakan perintah `read`. Perintah 
   read tidak begitu berguna jika kita tidak menyimpan hasil inputan tersebut 
   kedalam sebuah variabel. Untuk menyimpan hasil inputan kita harus memberi 
   satu argument pada perintah read. Argument inilah yang akan menyimpan nilai 
   yang diinputkan. Contoh, 
    
  0S1@sttpln.edu:~$ read a 
   10 
  0S1@sttpln.edu:~$  read b 
   5 
  0S1@sttpln.edu:~$ expr $a \* $b 
   50 
    
-------------    
1.5 Piping 
-------------

   Piping merupakan penggabungan dua atau lebih perintah dimana output dari 
   perintah sebelumnya digunakan sebagai input untuk perintah selanjutnya.  
   Simbol yang digunakan untuk membatasi perintah yang satu dengan yang lain 
   adalah tanda pipe "|". Berikut adalah beberapa contoh sederhana penggunaan 
   piping pada command line. 
    
  0S1@sttpln.edu:~$ cat /etc/passwd | wc -l 
  0S1@sttpln.edu:~$ cat /etc/passwd | sort -r 
  0S1@sttpln.edu:~$ cat /etc/passwd | grep "/bin/sh/" | wc -l 

-------------------- 
1.6 Redirection 
--------------------
   Secara umum jika kita ingin mengambil inputan maka kita mengambil dari 
   STANDARD INPUT (STDIN) yaitu keyboard. Sedangkan hasil output program yang 
   tercetak di layar monitor kita disebut STANDARD OUTPUT (STDOUT). Hampir sama  
   dengan STDOUT, error yang dihasilkan program juga ditampilkan lewat monitor  
   biasa disebut STANDARD ERROR (STDERR). Setiap standard mempunyai kode file  
   descriptor sendiri-sendiri diantaranya: 
    
   - STDIN => File Descriptor: 0 
   - STDOUT => File Descriptor: 1 
   - STDERR => File Descriptor: 2 
    
   Dengan mengetahui file descriptor tersebut kita dapat melakukan redirection 
   (pengalihan), misal dari dari STDOUT menjadi STDERR atau sebaliknya.  
   Terdapat tiga simbol untuk melakukan redirection diantarnya: 
    
   1. 
   Simbol: ">" 
   Keterangan: Simbol tersebut akan meredirect output ke dalam suatu file. Jika 
               file tersebut belum ada maka akan buat secara otomatis, jika  
               file sudah ada ada maka isinya akan di-overwrite/ditimpa. 
    
   2. 
   Simbol: ">>" 
   Keterangan: Hampir sama dengan ">" hanya saja jika file sudah ada, maka file 
               isi tersebut tidak dioverwrite tetapi ditambah. 
    
   3. 
   Simbol: "<" 
   Keterangan: Simbol "<" artinya input tidak diambil dari STDIN melainkan dari sebuah file. 


---------------- 
1.7 FUNGSI 
----------------
 
   Hampir sama dengan bahasa pemrograman tingkat tinggi, pada shell script juga 
   dikenal istilah fungsi. Dimana dengan adanya fungsi kita dapat membagi 
   kode kita ke dalam sub-sub yang lebih kecil. Hal ini sangat berguna jika kita 
   membangun sebuah program shell script yang cukup kompleks. Syntax penggunaan 
   fungsi pada shell script adalah: 
    
   function nama-fungsi()  
   { 
      perintah 
      ... 
      ... 
      return 
   } 

    
   Apakah fungsi pada shell script juga menerima parameter? YA tapi dengan  
   sedikit "nyeleneh". Kenapa? jika pada bahasa pemrograman umumnya parameter 
   diletakkan diantara tanda (), tidak demikian dengan shell script. Cara  
   pengambilan parameter pada shell script sama dengan pengambilan argument 
   pada program shell script itu sendiri. Jadi kita dapat menggunakan variabel 
   $*, $#, $0, $1, dan seterusnya. 
    
   Dibawah ini adalah contoh pembuatan fungsi untuk mengubah text menjadi 
   UPPER-CASE. 
    
  0S1@sttpln.edu:~$ nano fungsi2.sh 
   #!/bin/sh 
   function toUpperCase() { 
           teks=$* 
           echo $teks | tr "[a-z]" "[A-Z]" 
           return 
   } 

   echo -n "Masukkan teks(lowercase): " 
   read foo 
   toUpperCase $foo 
  0S1@sttpln.edu:~$  chmod +x fungsi2.sh 
  0S1@sttpln.edu:~$ ./fungsi2.sh 
   Masukkan teks(lowercase): ini lower case 
   INI LOWER CASE 

   Pada contoh diatas kita menggunakan variabel $* untuk mengambil parameter  
   bukan $1 atau $2 dkk karena yang akan diinputkan user kemungkinan mengandung  
   dua kata atau lebih. Jadi jika kita menggunakan variabel $1 maka yang terbaca  
   hanya kata pertama. Untuk itu kita gunakan variabel $* yang akan membaca  
   semua parameter. 
    

----------------------
2.0 Percabangan 
--------------- ------

   Dengan menggunakan percabangan/branching maka kita dapat mengontrol alur  
   dari shell script yang kita buat. Hal ini memungkinkan kita untuk menulis  
   program yang sangat kompleks pada shell script. Syntax penggunaan percabangan  
   pada shell script adalah: 
    
   if kondisi 
   then 
      ... 
      ... 
   fi 
   ----------- 
   if kondisi 
   then 
      ... 
      ... 
   else 
      ... 
      ... 
   fi 
   ----------- 
   if kondisi1 
   then 
      ... 
      ... 
   elif kondisi1 
      ... 
      ... 
   elif kondisi-n 
      ... 
      ... 
   else 
      ... 
      ... 
   fi 
   -------------- 
   case $variabel in 
      pattern1) perintah 
               ... 
               perintah;; 
      pattern1) perintah 
               ... 
               perintah;; 
      *) perintah 
         ... 
         perintah;; 
   esac 
    
   Untuk melakukan perbandingan kondisi pada data kita dapat menggunakan 
   perintah `test`(man test) atau meletakkannya dalam blok [ ]. 
    
   Berikut ini adalah operator yang dapat digunakan untuk membandingkan data 
   NUMERIK: 
    
   +------------+-----------------------------------+ 
   | OPERATOR   | KETERANGAN         | 
   +------------+-----------------------------------+ 
   |    -eq     | SAMA DENGAN (=)            | 
   +------------+-----------------------------------+ 
   |    -ne     | TIDAK SAMA DENGAN (!=)            | 
   +------------+-----------------------------------+ 
   |    -gt     | LEBIH BESAR (>)                | 
   +------------+-----------------------------------+ 
   |    -ge     | LEBIH BESAR ATAU SAMA DENGAN (>=) | 
   +------------+-----------------------------------+ 
   |    -lt     | KURANG DARI (<)                | 
   +------------+-----------------------------------+ 
   |    -le     | KURANG DARI ATAU SAMA DENGAN (<=) | 
   +------------+-----------------------------------+ 
    
------------------- 
2.1 if...then...fi 
------------------ 
    
  0S1@sttpln.edu:~$ nano if-then-fi.sh 

   #!/bin/sh 
    
   num_arg=$# 
   bil1=$1 
   bil2=$2 

   function help() { 
       echo 'Penggunaan: ' 
       echo "$0 bil1 bil2" 
       echo '' 
       echo Dimana bil1 dan bil2 harus angka genap. 
       return 
   } 

   function cek_arg() { 
       if test $num_arg -lt 2  
       then 
           help 
           exit 1    # keluar dengan exit status 1 
       fi 
    
       if [ `expr $bil1 % 2` -ne 0 ] ; then 
           help 
           exit 1 
       fi 
    
       if [ `expr $bil2 % 2` -ne 0 ]  
       then 
           help 
           exit 1 
       fi 
       return 
   } 

   cek_arg 
   echo 'Argument anda adalah '$bil1' dan '$bil2 
   exit 0 
  0S1@sttpln.edu:~$ chmod +x if-then-fi.sh 
  0S1@sttpln.edu:~$./if-then-fi.sh  
   Penggunaan:  
   ./if-then-fi.sh bil1 bil2 

   Dimana bil1 dan bil2 harus angka genap. 
  0S1@sttpln.edu:~$ echo $? 
   1 
  0S1@sttpln.edu:~$./if-then-fi.sh 2 4 
   Argument anda adalah 2 dan 4 
  0S1@sttpln.edu:~$ echo $? 
   0 
    
   Perintah exit pada shell script dapat digunakan untuk keluar langsung dari 
   program. Pada contoh diatas, jika terdapat kesalahan kita keluar dengan exit 
   status 1( bukan 0 ) artinya program selesai tapi dengan error. Error status 
   tidak harus 1 tapi bisa sembarang angka asal BUKAN 0. 

-------------------------- 
2.2 if...then...else...fi 
--------------------------
 
   Statement pada blok else akan dieksekusi jika kondisi pada pada blok if 
   bernilai false. 
    
  0S1@sttpln.edu:~$ nano if-else.sh 
   #!/bin/sh 
    
   if test $1 -ge 0 
   then 
      echo "Argument bernilai positif" 
   else 
      echo "Argument bernilai negatif" 
   fi 
  0S1@sttpln.edu:~$ chmod +x if-else.sh 
  0S1@sttpln.edu:~$ ./if-else 10 
   Argument bernilai positif 
  0S1@sttpln.edu:~$ ./if-else -2 
   Argument bernilai negatif 

---------------------------------
2.3 if...then...elif...else...fi 
---------------------------------
 
   Statement elif digunakan jika kita ingin memilih lebih dari dua kondisi. 
    
  0S1@sttpln.edu:~$ nano if-elif.sh 
   #!/bin/sh 
   pilih= 
   teks="Sistem operasi pilihan anda adalah " 

   echo "Pilih Sistem Operasi Anda: " 
   echo "1. Linux" 
   echo "2. Mac OS" 
   echo "3. FreeBSD" 
   echo "4. Lainnya" 
   echo "" 

   echo -n "Masukkan pilihan: " 
   read pilih 

   if [ $pilih = "1" ] ; then 
       echo "${teks}Linux" 
   elif [ $pilih = "2" ] ; then 
       echo "${teks}Mac OS" 
   elif [ $pilih = "3" ] ; then 
       echo "${teks}FreeBSD" 
   else 
       echo "Anda memilih sistem operasi lain" 
   fi 
  0S1@sttpln.edu:~$  chmod +x if-elif.sh 
  0S1@sttpln.edu:~$ ./if-elif.sh 
   Pilih Sistem Operasi Anda:  
   1. Linux 
   2. Mac OS 
   3. FreeBSD 
   4. Lainnya 

   Masukkan pilihan: 3 
   Sistem operasi pilihan anda adalah FreeBSD 

----------------- 
2.5 Nested If 
----------------- 
   Pada shell script anda juga dapat meletakkan blok if didalam if atau istilah 
   "kerennya" nested if. Berikut adalah contoh sederhana penggunaannya. 
    
  0S1@sttpln.edu:~$  nano nested-if.sh 
   #!/bin/bash 

   bil=$1 
   if [ `expr $bil % 2` -eq 0 ] ; then 
       if [ $bil -ge 0 ] ; then 
           echo "Angka yang anda masukkan genap dan >= 0" 
       else 
           echo "Angka yang anda masukkan genap dan < 0" 
       fi 
   else 
       if [ $bil -ge 0 ] ; then 
           echo "Angka yang anda masukkan ganjil dan >= 0" 
       else 
           echo "Angka yang anda masukkan ganjil dan < 0" 
       fi 
   fi 
  0S1@sttpln.edu:~$ sh nested-if.sh 10 
   Angka yang anda masukkan genap dan >= 0 
  0S1@sttpln.edu:~$ sh nested-if.sh -5 
   Angka yang anda masukkan ganjil dan < 0 

--------------------
----- 
2.6 case...in...esac 
--------------------
-----

   Perintah case hampir sama dengan if-then-elif-else-fi karena dapat memilih 
   dari banyak kondisi. Sebagian orang lebih suka menggunakan case...esac 
   dibanding multi level-if karena lebih mudah dibaca. 

   Pada contoh dibawah ini adalah modifikasi dari contoh if-then-elif-else-fi 
   yang pernah dibahas sebelumnya menggunakan case...in...esac. 
    
  0S1@sttpln.edu:~$ nano case.sh 
   #!/bin/sh 
   pilih= 
   teks="Sistem operasi pilihan anda adalah " 

   echo "Pilih Sistem Operasi Anda: " 
   echo "1. Linux" 
   echo "2. Mac OS" 
   echo "3. FreeBSD" 
   echo "4. Lainnya" 
   echo "" 

   echo -n "Masukkan pilihan: " 
   read pilih 

   case $pilih in 
       "1") echo "${teks}Linux";; 
       "2") echo "${teks}Mac OS";; 
       "3") echo "${teks}FreeBSD";; 
       *)    echo "Anda memilih sistem operasi lain";; 
   esac 
  0S1@sttpln.edu:~$ sh case.sh 
   Pilih Sistem Operasi Anda:  
   1. Linux 
   2. Mac OS 
   3. FreeBSD 
   4. Lainnya 

   Masukkan pilihan: 1 
   Sistem operasi pilihan anda adalah Linux 

-------------------------- 
2.7 Menangkap Error Status 
-------------------------- 
   Seperti yang pernah dijelaskan sebelumnya bahwa untuk melihat error status 
   dari suatu perintah kita gunakan special variable "$?". Error status ini  
   dapat kita gunakan untuk melihat apakah perintah yang kita jalankan berjalan 
   tanpa error atau tidak. Error status terdiri dari dua flag yaitu: 
    
   +-----------+-----------------+ 
   | NO. ERROR | STATUS PROGRAM | 
   +-----------+-----------------+ 
   |     0     | OK                  | 
   +-----------+-----------------+ 
   |    !=0    | TERJADI ERROR    | 
   +-----------+-----------------+ 
    
   NOTE: != artinya TIDAK SAMA DENGAN 
    
   Setelah anda mengetahui bagaimana menggunakan percabangan pada shell script 
   maka kita dapat menggunakanya untuk menangkap error status yang dihasilkan 
   oleh suatu program. 
    
  0S1@sttpln.edu:~$ nano error-status.sh 
   #!/bin/sh 

   perintah=`rm /file/ngawur 2>/dev/null` 
   if [ $? -eq 0 ] ; then 
       echo "PERINTAH SUKSES, EXIT STATUS: $?" 
   else 
       echo "PERINTAH GAGAL, EXIT STATUS: $?" 
   fi 

   ls / 1>/dev/null 
   if [ $? -eq 0 ] ; then 
       echo "PERINTAH SUKSES, EXIT STATUS: $?" 
   else 
       echo "PERINTAH SUKSES, EXIT STATUS: $?" 
   fi 
   lug@stikom.edu:~$ sh error-status.sh 
   PERINTAH GAGAL, EXIT STATUS: 1 
   PERINTAH SUKSES, EXIT STATUS: 0 
    
   Pada contoh diatas STDERR dan STDOUT semuanya di-redirect ke /dev/null. Hal  
   ini agar output perintah rm dan ls tidak muncul dilayar. /dev/null adalah 
   semacam file "blackhole" yang dapat kita gunakan untuk mengririm semua output  
   yang tidak kita inginkan. 
    
   CATATAN: 
   Variabel $? hanya berisi error status dari perintah yang TERAKHIR KALI  
   dijalankan. 


---------------------------------------------
3.0 Perulangan dalam Shell Script 
---------------------------------------------

   Perbedaan utama kita, manusia dengan komputer adalah jika kita melakukan 
   suatu pekerjaan berulang-ulang maka rasa bosan pasti datang. Tidak demikian 
   dengan komputer, komputer melakukan hal-hal yang sama sebanyak 1 juta kali 
   pun dia akan dengan "senang hati" melakukannya. 
    
   Perulangan atau looping adalah pengeksekusian suatu blok perintah selama 
   kondisi yang digunakan masih bernilai TRUE. Saya yakin anda pernah disuruh 
   orang tua anda waktu kecil untuk berhitung 1 - 10. Dimana jika sudah melebihi  
   10 anda harus berhenti berhitung karena kondisi meminta anda untuk berhenti  
   pada saat mencapai sepuluh. 
    
   Analogi sederhana diatas dapat menggambarkan bagaimana suatu looping bekerja. 
   Dalam shell script terdapat dua tipe perulangan yaitu: 
    
   - for loop 
     - for...do...done 
     - for...in...do...done 
   - while loop 
    
   Umumnnya perulangan `for` digunakan apabila kita sudah tahu batas perulangan  
   yang akan kita lakukan. Syntax penulisannya adalah: 
    
   for nama_variabel in list 
   do 
      ... 
      ... 
   done 
   ------------------------- 
   for (( expr1; expr2; expr3 )) 
   do 
      ... 
      ... 
   done
 





 Berikut adalah Pratikum yang sempat saya lakukan:

untuk perintah  IF :





Untuk perintah Case :







Demikian penjelasan tentang Shell Script 2 pada Centos. Sebenarnya shell script 2 ini operator-operator yang digunakan mirip dengan yang ada pada bahasa c++, hanya terdapat sedikit perbedaan.

untuk lebih detail mengenai contoh penggunaan Shell Script 2 pada Centos ini, bisa dilihat di postingan saya sebelumnya dengan mengklik "

PROGRAM PERHITUNGAN KASIR - TUGAS AKHIR TAHUN PLJ

" judul tersebut.

Semoga bermanfaat, tetap semangat buat belajar agar menjadi lebih baik lagi :)

Tidak ada komentar:

Posting Komentar