Pemrograman Shell

Nama : Muhammad Ariq Dzulfiqar

Kelas : BM5B

NIM : 1803421017

 

Tujuan

Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:

Mempelajari elemen dasar shell script b.

 Membuat program shell interaktifc.

 Menggunakan parameter dalam programd.

 Mempelajari test kondisi serta operator logic yang terkait dengan instruksi teste.

 Mengenal variable built-in dari shellf.

 Membuat aplikasi dengan shell menggunakan konstruksi if-then-elseg.

 Menggunakan struktur case – esac.h.Loop dengan while, for, do while.i.

 Membuat fungsi dan mengetahui cara memanggil fungsi tersebut.


Percobaan 1 : membuat shell script

1.Buatlah file prog01.sh dengan editor vi

$ vi prog01.sh

#!/bin/sh

#Program shell

#

var1=x

var2=8



Analisis

- Untuk membuat file prog01.sh kita menggunakan editor v dengan memasukkan perintah

$ vi prog1.sh

- Kemudian kita inputkan pada file prog01.sh dengan code program sesuai modul.Maksud dari program diatas adalah yang diawali dengan tanda tagar(#) adalahkomentar. Dan kita menggunakan program shell /bin/sh. Penggunaan variableassigment tidak boleh mneggunakan spasi diantara nama

-Untuk keluar dari editor yaitu dengan cara tekan esc,kemudian tekan titik 2(:) , kemudain ketikkan wq! untuk menyimpan dan exit dan kemudian enter

 -Editor vi hanya bisa dihapus ddengan del dan sedikit rumit sehingga saya sarankanuntuk menggunakan teks editor terlebih dahulu dan copykan code nya ke editor vi

 

2. Untuk menjalankan shell, gunakan notasi TITIK di depan nama program

$ . prog01.sh



Analisis

-Untuk menjalankan bisa dengan .(spasi)nama file.sh

3. Untuk menjalankan shell, dapat juga dengan membuat executable file dan dieksekusi relatif dari current directory


$ chmod +x prog01.sh

Analisis

-Perintah chmod + x  digunakan untuk mengubah file menjadi executable

$ ./prog01.sh

Analisis

-Perintah ini digunakan untukmenjalankan file yang executable

 

Percobaan 2 : Variabel

1.Contoh menggunakan variable pada shell interaktif



$ VPT= Teknik Informatika

Analisis

-VPT adalah variable yang dapa mempunyai nilai berupa string. Pada percobaan ini kita

mencoba menginputkan kata “Teknik Informatika” ke VPT. Namun yang terjadi

adalah error berupa Teknik: command no found. Atau command tidak ditemukan. Jadi perintah ini malah mengira bahwa kita menggunakan perintah Teknik padahal

sebenarnya kita ingin menginputkan “Teknik Informatika”. Hal tersebut dikarenakan

kita tidak menggunakan tanda petik untuk Teknik Informatika. Command yang benaradalah

$ VPT=”Teknik Informatika”. 

- Perintah VPT bersifat case sensitive.

-Pemisahan 2 kata dengan spasi menandakan eksekusi 2 buah instruksi

$ echo $VPT

-Perintah echo $VPT digunakan untuk melihat isi VPT. Sedangkan saat kitamemasukkan perintah tersebut ternyata isinya kosong. Hal tersebut dikarenakan kita gagal menginput kata “Teknik Informatika” pada VPT

 

2.Pemisahan 2 kata dengan spasi menandakan eksekusi 2 buah instruksi. Karakter $ harusada pada awal nama variable untuk melihat isi variable tersebut, jika tidak, maka echoakan mengambil parameter tersebut sebagai string.



$ VPT2= Teknik Informatika UNS(Terdapat pesan error)

analisis

-Terdapat pesan error karena pemisahan dengan spasi tanda menandakan 2 buahinsruksi yang pada kasus ini Teknik dibaca sebagai instruksi , dan informatika jugadibaca system sebagai instruksi sehingga untuk dapat memasukkan nilai kedalamvariable hasrus diapit 2 tanda petik

$ VPT2=” Teknik Informatika UNS”

$ echo VPT2

$ echo $VPT2

Analisis

-Pertama kita memasukkan kata “Teknik Informatika UNS” ke VPT2.

-Kemudian kita membaca isi file VPT2 dengan menggunakan perintah

$ echo $VPT2

 

3.Menggabungkan dua variable atau lebih



$ V1=‘Teknik Informatika’

 $ V2=‘:’

 $ V3=’UNS’

 $ v4=$V1$V2$V3$ echo $V4

Analisis

-Pertama kita membuat 3 variable dengan nama V1, V2, V3. Cara membuat variable menggunakan perintah seperti pada gambar. Missal $ V1=’Teknik Informatika’.

 Kita lakukan untuk membuat 3 variabel

 -Kemudian kita memnggabungkan variable yang kita buat. Caranya adalah denganmembuat variable ke 4 yang mana isi variable ke 4 adalah gabungan isi dari variableV1,V2,V3. Membuat V4 dengan perintah $ v4=$V1$V2$V3.Ingat sayamenggunakan v kecil pada v4

(sifat case sensitive)

.-Kemudian kita membaca isi file v4 dengan perintah $ echo $v4.Janganmenggunakan V besar.

 

Percobaan 3 : Membaca Keyboard

1.Menggunakan instruksi read



$ read nama

Amir

Analisis

-Untuk memasukkan nilai kedalam variable juga bisa melalui keyboard dengan menggunakan instruksi read

$ echo $nama

Analisis

-Kita membaca isi variable nama dengan perintah echo $(nama variable). samaseperti saat kita membaca isi variable VPT

 

Percobaan 4 : Parameter

1.Membuat shell script prog04.sh

$ vi prog04.sh

#!/bin/sh

# prog04.sh versi 1

#Parameter passing

#

echo “Nama program adalah $0”

echo “Parameter 1 adalah $1”

echo “Parameter 2 adalah $2”

echo “Parameter 3 adalah $3”



Analisis

-Kita membuat file prog04,sh dengan cara yang sam dengan kita membuat file prog)1.sh, prog02.sh, ataupun prog03.sh.

-Maksud dari program diatas adalah pertama pada baris nama program adalah

$0. $0 maksudnya adalah menampilkan parameter nol yaitu berupa nama program. Programyang kita gunakan adalah program bash maka outputnya adalah bash

-Baris selanjutnya  parameter 1 adalah $1 , maksud $1 adalah menampilkan parameter pertama sesuai masukan kita nanti.

-Sedangkan $3 maksudnya menampilkan parameter ketiga dan seterusnya

 

2. Eksekusi prog04.sh tanpa parameter, dengan 2 parameter, dengan 4 parameter

$ . prog04.sh

$ . prog04.sh Amir hasan

$ . prog04.sh amir hasan badu ali

Analisis

- Mengeksekusi program dengan memberi label .(didepan nama file.sh)

-Terlihat outputnya.$0 menunjukan nama program.

-Saat kita menginputkan 2 parameter yaitu amir Dan hasan maka parameter tersebutakan dotampilkan sebagai $1 dan $2, sedangkan lainnya kosong

-Saat kita menginputkan 4 parameter yaitu amir hasan badu ali maka keempatvariable nya akan terisi berurutan.

 

 

 

 

 

 

 

 

Percobaan 5 : Status Exit

1.String tidak diketemukan, maka status exit adalah 1



$ grep xyz /etc/passwd

$ echo $?

Analisis

- Maksud dari perintah $ grep xyz /etc/passwd adalah mencari file xyz didalamdirectory etc didalam passwd 

- Maksud dari status exit adalah jika file yang kita cari ditemukan maka status exitnya adalah 1. Cara mengecek status exit adalah dengan $?

2.String diketemukan, maka status exit adalah 0

$ grep <user> /etc/passwd

$ echo $?

Analisis

 -Saat kita mencari suatu file dan ternyata ketemu maka status exit akan menunjukan 0.Contohnya pada percobaan ini kita mencari user (user ubuntu saya: ahnaf) dietc/passwd dan ketemu. Maka saat kita cek status exit menunjukkan 0

 

Percobaan 6 : Konstruksi If

1.Instruksi dengan exit status 0

$ who

$ who | grep <user>

$ echo $?



Analisis

-Perintah who  menunjukan semua user.

-Perintah who | grep <user> bermaksud mencari kata ahnaf didalam output dari perintah who, dan ternyata kata ahnaf ditemukan dari who, sehingga saat kita cek statusexitnya adalah 0

 

Percobaan 8 : Instruksi Test

1.Menggunakan instruksi test, perhatikan spasi antara



$ NAMA=amir

$ test $NAMA =amir

$ echo $?$ test

$NAMA = boris

$ echo $?

Analisis

-Pertama kita menginputkan Faiz  didalam variable

NAMA. Kemudian kita test$NAMA=Faiz.Maksudnya kita mengetes apakah kata Faiz terdapat didalam variable NAMA. Setelah itu kita cek status exitnya ternyata 0. Status exit 0  menunjukkan kata Faiz  ditemukan didalma variable NAMA

 

 

 

 

 

 

Komentar

Postingan populer dari blog ini