Shell Scripting
Shell Scripting
Masing - masing shell mempunyai kelebihan dan kekurangan yang mungkin lebih
didasarkan pada kebutuhan pemakai yang makin hari makin meningkat.
Variabel
Beberapa hal yang perlu diperhatikan dalam mendefinisikan variabel:
Angka (0-9)
Huruf (a-z dan A-Z)
Karakter underscore (_)
Nama variabel tidak boleh dimulai dengan angka
Tidak boleh menggunakan karakter spesial seperti !, *, $, #, -, dll karena karakter tersebut
punya makna khusus untuk shell
Bersifat case sensitive (membedakan huruf besar dan kecil)
Pemberian nilai variable tidak boleh dipisahkan dengan spasi, karena shell akan
menganggap pemisahan tersebut sebagai parameter
Syntax Variabel
Mendefinisikan variabel
nama_var=nilai
Mengakses variabel
$nama_var
Operator Aritmatika
No Operator Deskripsi
1 + Penjumlahan
2 - Pengurangan
3 * Perkalian
4 / Pembagian
5 % Modulus (sisa pembagian)
6 = Menempatkan nilai di sisi kanan ke variabel di sisi kiri
7 == Membandingkan 2 nilai yang sama
8 != Membandingkan 2 nilai yang tidak sama
Tipe Data
Beberapa tipe data di pemrograman shell antara lain :
o String
o Array
o Integer
o dsb.
Ada 3 cara yang dapat digunakan untuk melakukan operasi matematika, yaitu:
o Menggunakan perintah built-in let
o Menggunakan perintah eksternal expr atau awk
o Menggunakan perintah subtitusi $((ekspresi))
Contoh operasi "Let, Expr, Ekspresi" :
#!/bin/bash
a=15
b=7
#memakai let
let jumlah=$a+$b
let kurang=$a-$b
let kali=$a*$b
#memakai expr
bagi=`expr $a / $b`
b=$a
a + b = 22
a - b = 8
a * b = 105
a / b = 2
a % b = 1
a = 15
b = 15
Input
Input pada shell
Untukـmembacaـinputanـdariـuserـgunakanlah"ـread"ـdenganـformatـpenulisan“ـreadـ
nama_var”
#!/bin/bash
clear
Ouput
Output pada shell
Catatan:
Jika ingin menggunakan new line character (\n) pada echo, gunakan echo -e
"teks\n teks"
Contoh
#!/bin/bash
matakuliah="Sistem Operasi"
Selain menggunakan output "echo", output bisa juga dilakukan dengan menggunakan
printf seperti pada bahasa pemrograman C.
Contoh
#!/bin/bash
# Inisialisasi Var
a=55;
b=4;
distroLinux="Ubuntu 19.04 LTS";
let c=a%b;
# Output Printf
printf "OS : $distroLinux \n";
printf "$c \n";
printf "%.2f float \n" $a;
printf "%.1f float \n" $a;
Percabangan
Sebelum melangkah ke percabangan alangkah baiknya terlebih dahulu mengetahui dasar operasi
relasional yang mana biasanya digunakan bersama dengan conditional statements.
No Operator Deskripsi
1 -eq Memeriksa apakah nilai kedua operan sama (==)
2 -ne Memeriksa apakah nilai kedua operan tidak sama (!=)
3 -gt Memeriksa apakah nilai operan kiri lebih besar daripada operan kanan (>)
4 -lt Memeriksa apakah nilai operan kiri lebih kecil daripada operan kanan (<)
Memeriksa apakah nilai operan kiri lebih besar atau sama dengan operan kanan
5 -ge
(>=)
Memeriksa apakah nilai operan kiri lebih kecil atau sama dengan operan kanan
6 -le
(<=)
If ..... Else
o Syntax
if [ kondisi1 ]
then
perintah1
elif [ kondisi2 ]
then
perintah2
else
alternatif_perintah
fi
Contoh:
#!/bin/bash
a=15
b=7
if [ $a == $b ]
then
echo "a sama dengan b"
elif [ $a -gt $b ]
then
echo "a lebih besar dari b"
elif [ $a -lt $b ]
then
echo "a lebih kecil dari b"
else
echo "Tidak ada kondisi yang memenuhi"
fi
Soal Latihan
Buatlah program percabangan sederhana aritmatika yang menerapkan beberapa konsep
pemrograman bash seperti diatas !