BASH SHELL PROGRAMMING
Variable
Nama variable bisa terdiri dari numeric atau huruf dan tidak perlu pendeklarasian tipe data, dan dapat langsung diberikan nilai berupa numeric atau string. Contoh:
#!/bin/bash
STR=”Assalamualaikum”
ANGKA=28
echo $STR $ANGKA
perintah echo adalah perintah untuk mencetak variable ke standard output.
Untuk membuat variable local cukup menyatakannya dengan keyword “local”. Contoh:
#!/bin/bash
HELLO=Hello
function hello
{
local HELLO=World
echo $HELLO
}
echo $HELLO
hello
echo $HELLO
Syntax pengkondisian dengan menggunakan if adalah
if [expression]; then
…
…
fi
#!/bin/bash
if [ “foo” = “foo” ]; then
echo expression evaluated as true
fi
Contoh kondisi dengan if..then else
#!/bin/bash
if [ “foo” = “foo” ]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
Contoh kondisi dengan variable:
#!/bin/bash
T1=”foo”
T2=”bar”
if [ “$T1” = “$T2” ]; then
echo expression evaluated as true
else
echo expression evaluated as false
fi
Contoh for:
#!/bin/bash
for i in $ ( ls ); do
echo item: $i
done
#!/bin/bash
for i in ‘seq 1 10’; do
echo $i
done
Contoh while..do:
#!/bin/bash
COUNTER=0
while [ $COUNTER –lt 10 ]; do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
done
contoh until..do:
#!/bin/bash
COUNTER=20
until [ $COUNTER –lt 10 ]; do
echo COUNTER is $COUNTER
let COUNTER-=1
done
Perintah Select
Contoh membuat menu:
#!/bin/bash
OPTIONS=”Hello Quit”
select opt in $OPTIONS; do
if [ “$opt” = “Quit” ]; then
echo done
exit
elif [ “$opt” = “Hello” ]; then
echo Hello World
else
clear
echo bad option
fi
done
Menggunakan Command Line
#!/bin/bash
if [ -z “$1” ]; then
echo usage: $0 directory
exit
fi
SRCD=$1
TGTD=”/var/backups/”
OF=home-$ (date +%Y%m%d) .tgz
tar –cZf $TGTD$OF $SRCD
$1 merupakan parameter command line yang pertama.
Input menggunakan read
#!/bin/bash
echo Input nama kamu :
read NAME
echo “Hi $NAME!”
secara multiple value:
#!/bin/bash
echo Input nama depan dan nama belakang kamu :
read FN LN
echo “Hi $LN, $FN !”
Aritmatika
echo $ [1+1]
akan mencetak angka 2
echo 3/4(bc -1
akan mencetak nilai pecahan 0.75
Mengambil nilai dari command output
#!/bin/bash
DBS=’mysql –uroot –e”show databases”
for b in $DBS ;
do
mysql –uroot –e”show tables from $b”
done
TABEL Operator
Operator String | Keterangan |
S1 = S2 | Sama dengan |
S1 != S2 | Tidak Sama Dengan |
S1 > S2 | Lebih besar dari |
S1 <> | Lebih kecil dari |
-n S1 | S1 is not NULL |
-z S1 | S1 is NULL |
Contoh:
#!/bin/bash
S1=’string’
S2=’String’
if [ $S1=$S2 ]; then
echo “ S1 ( ‘$S1’ ) tidak sama dengan S2 ( ‘$S2’ ) ”
fi
if [ $S1=$S1 ]; then
echo “ S1 ( ‘$S1’ ) sama dengan S2 ( ‘$S1’ ) ”
fi
Operator Aritmatika | Keterangan |
+ | Penjumlahan |
- | Pengurangan |
* | Perkalian |
/ | Pembagian |
% | Sisa bagi |
Operator Pembanding Aritmatika | Keterangan |
-lt (less than) | Lebih Kecil |
-gt (greater than) | Lebih Besar |
-le (less equal than) | Lebih Kecil Atau Sama Dengan |
-ge (greater equal than) | Lebih Besar Atau Sama Dengan |
-eq (equal) | Sama Dengan |
-ne (not equal) | Tidak Sama Dengan |
Useful Command:
sed (stream editor) merupakan non-ineractive editor dengan cara penggunaan adalah script instruksi editing ke sed plus nama file yang akan diedit. Dapat juga dengan tambahan filter. Contoh:
$sed ‘s/to_be_replaced/replaced/g’ /tmp/dummy
sed akan mengganti kata to_be_replaced dengan kata replaced pada file dummy yang ada di directory tmp.
awk (manipulation of datafiles, text retrieval and processing) untuk pencarian data pada file dengan menggunakan pattern.
grep (print lines matching a search pattern)
sort (sort lines of text files)
be (a calculator programming language)
Reference:
Bash Programming Introduction-HOWTO
Pengenalan Sistem Operasi Linux
0 komentar:
Posting Komentar