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.
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
Posting Komentar