Bash Shell Programming
Bash Shell Programming
fi Contoh kondisi dengan variabel: #!/bin/bash T1="foo" T2="bar" if [ "$T1" = "$T2" ]; then echo expression evaluated as true else echo expression evaluated as false fi Loop dengan for, while..until 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: #!/bin/bash COUNTER=0 while [ $COUNTER -lt 10 ]; do echo The counter is $COUNTER let COUNTER=COUNTER+1 done Contoh until: #!/bin/bash COUNTER=20 until [ $COUNTER -lt 10 ]; do echo COUNTER $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 Mengunakan Comamnd 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 muliple 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 l 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 S1 = S2 S1 != S2 S1 > S2 S1 < S2 -n S1 -z S1 Keterangan Sama dengan Tidak sama dengan Lebih besar dari Lebih kecil dari S1 is not NULL 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 S1('$S1')" fi
Operator Aritmatika Operator Aritmatika + * / % Keterangan Penjumlahan Pengurangan Perkalian Pembagian Sisa bagi
Operator Pembanding Aritmatika -lt (less than) -gt (grather than) -le (less equal than) -ge (grather equal than) -eq (equal) -ne (not equal)
Keterangan Lebih kecil Lebih besar Lebih kecil atau sama dengan Lebih besar atau sama dengan Sama dengan Tidak sama dengan
Useful Command: sed (stream editor) merupakan non-ineractive editor dengan cara penggunaan adalah scrip 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 direktori tmp. awk (manipulation of datafiles, text retrieval and processing) untuk pencarian data pada file dengan mengunakan pattern. grep (print lines matching a search pattern) sort (sort lines of text files) bc (a calculator programming language)