Pemrograman Bash Shell #1 digit PDF

Title Pemrograman Bash Shell #1 digit
Author Amir Udin
Pages 13
File Size 248.6 KB
File Type PDF
Total Downloads 323
Total Views 388

Summary

Pemrograman Bash Shell #1 oleh Budi Susanto Bash adalah shell, atau penerjemah bahasa perintah, yang terdapat pada sistem operasi GNU, misalnya Linux, BSD, SCO (diberikan dalam paket Skunkware). Bash kompatibel dengan shell sh dan ditambah dengan kemampuan atau karakteristik yang dimiliki oleh Korn ...


Description

Pemrograman Bash Shell #1 oleh Budi Susanto Bash adalah shell, atau penerjemah bahasa perintah, yang terdapat pada sistem operasi GNU, misalnya Linux, BSD, SCO (diberikan dalam paket Skunkware). Bash kompatibel dengan shell sh dan ditambah dengan kemampuan atau karakteristik yang dimiliki oleh Korn Shell (ksh) dan C shell (csh). Selain itu Bash dibakukan sebagai sebuah shell yang mengimplementasikan spesifikasi IEEE POSIX Shell dan Tools (IEEE Working Group 1003.2). Bash merupakan suatu command language, yang memungkinkan Anda mengontrol eksekusi program. Bourne shell juga merupakan programming language, yang memungkinkan Anda untuk membuat program yang terstruktur.

Contoh Sederhana loginfo.sh echo –e “Tanggal dan jam saat ini : \c” date echo –e “Jumlah user saat ini : \c” who | wc –l echo –e “informasi personal : \c” whoami exit 0 fcount.sh ls –l | sed 1d | wc –l exit 0

Karakter Khusus \a

alert (bell)

\b

backspace

\e

an escape character (not ANSI C)

\f

form feed

\n

newline

\r

carriage return

\t

horizontal tab

\v

vertical tab

\\

backslash

\’

mencetak petik tunggal

\”

mencetak petik ganda

\nnn

karakter ASCII yang memiliki kode oktal nnn (1 – 3 digit)

\xnnn

karakter ASCII yang memiliki kode heksadesimal nnn (1-3 digit)

Budi Susanto

1

a.sh #!/bin/sh echo –e “#\041/bin/sh” > Hasil echo –e “echo \”Hello world\” \n” >> Hasil

Quotation Quotation digunakan untuk mengontrol shell untuk menterjemahkan parameter atau variabel dalam suatu string. Kita dapat menggunakan single ('), double (“) untuk suatu string dan ekspresi parameter di dalamnya. Double quote memungkinkan kita melakukan substitusi. Perhatikan contoh nama-nama variabel berikut : echo echo echo echo echo echo echo

"$var"man $var""man $var"man" $var''man $var'man' $var\man ${var}man

Variabel Shell User Variable uv.sh WAKTU=”Tanggal dan jam saat ini \c” JMLUSER=”Jumlah user : \c” AKU=”Status personal : \c” echo –e “$WAKTU” date echo –e “$JMLUSER” who | wc –l echo –e “$AKU” whoami exit 0 uv2.sh echo jumlah user yang login `who | wc –l`. VT100=`cat /etc/ttytype | grep vt100 | sed “s/vt100 //”`. echo terminal VT100 adalah : $VT100 exit 0

Budi Susanto

2

Shell Variable *

Variabel $* akan menggabungkan semua positional parameter menjadi satu. $* = "$1c$2c...", dimana c adalah karakter pertama dari nilai yang tersimpan pada variabel IFS. Jika IFS tidak diset suatu nilai, antar parameter akan dipisahkan dengan spasi. Namun jika IFS berisi nul (kosong, diset tapi tidak ada nilai), parameter digabungkan tanpa ada pemisah.

@

Hampir sama dengan $*, namun dengan variabel ini jika di tulis dengan “$@” maka akan sama dengan “$1” “$2” … Ketika tidak ada positional parameter, maka “$@” dan $@ tidak akan nilainya.

#

Menghasilkan jumlah positional parameter (dalam desimal).

?

Menghasilkan status exit dari proses yang telah dijalankan

-

menghasilkan option flag yang diberikan saat pemanggilan suatu perintah atau shell script.

$

menghasilkan ID dari proses shell yang sedang berjalan.

!

menghasilkan ID dari proses yang baru saja dijalankan secara background (asynchronous)

0

seperti pada positional parameter, jika BASH dijalankan dengan sebuah perintah, $0 berisi nama perintah tersebut. Namun jika BASH dijalankan dengan menggunakan pilihan –c, maka $0 akan menghasilkan argumen parameter pertama.

Contoh : #!/bin/sh echo "$#:" echo '$#:' echo '$-:' echo '$?:' echo '$$:' echo '$!:' echo '$3:' echo '$0:' echo '$*:' echo '$@:'

$# $# $$? $$ $! $3 $0 $* $@

./var.sh satu dua tiga empat lima

Budi Susanto

3

Parameter Substitusi Sintak

Penjelasan Sintak

${parameter:-word}

Jika parameter di set, maka substitute nilainya, selain itu substitute word Contoh : $ echo Hello $UNAME Hello $ echo Hello ${UNAME:-there} Hello there $ UNAME=John $ echo Hello ${UNAME:-there} Hello John $ USERDIR={$MYDIR:-‘pwd’}

${parameter:=word}

Jika parameter tidak set, maka set dengan word, nilai dari parameter akan disubstitusikan. Posititional parameters (seperti $1, $2, dst) tidak dapat dibentuk dengan substitution ini.

${parameter:?word}

Jika parameter di set, maka substitut nilainya, selain itu, cetak word dan keluar dari shell. Jika word diabaikan, maka standard message akan ditampilkan Contoh : $ UNAME= $ echo ${UNAME:?”UNAME has not been set”} UNAME has not been set $ UNAME=Simbah $ echo ${UNAME:?”UNAME has not been set”} Simbah $ UNAME= $ echo ${UNAME:?} sh: UNAME: parameter null or not set $ _

${parameter:+word}

Jika parameter di set, maka sustitue word, selain itu tidak ada yang disubstitute. Contoh : $ ERROPT=A $ echo ${ERROPT:+”Error Tracking is Active”} Error Tracking is Active $ ERROPT= $ echo ${ERROPT:+”Error Tracking is Active”} $ _

Budi Susanto

4

Contoh (pram1.sh): DIR=${1:-$HOME} echo DIR=$DIR echo 2=${2:?”Positional parameter must be set”} TMP=/tmp/$$ T=${TMP:+”a legal value”} echo TMP=$T T=${FRED:+nothing} echo FRED=$FRED exit 0 Contoh Lain (pram2.sh): #!/bin/sh param0=$0 test -n "$1" && param1=$1 test -n "$2" && param2=$2 test -n "$3" && param3=$3 echo 0: $param0 echo "1: ${param1-1}: \c" ;echo $param1 echo "2: ${param2=2}: \c" ;echo $param2 echo "3: ${param3+3}: \c" ;echo $param3 Coba jalankan dengan perintah : ./pram2.sh ./pram2.sh satu dua tiga

Menggunakan Utility “expr” Nilai pada tiap variabel shell adalah bertipe karakter. Untuk melakukan operasi aritmatika, anda harus menggunakan perintah expr expr integer operator integer Sedangkan operator aritmatika yang dapat digunakan adalah : * - + / % contoh : $ expr 2 + 1 $ expr 4 \* 5 $ int = `expr 5 + 7` $ expr $int / 3 $ expr `expr 5 + 7` / 3 Contoh (expr1.sh) : X60=`expr $1 \* 60` TOTMENIT=`expr $X60 / JAM=`expr $TOTMENIT / MENIT=`expr $TOTMENIT echo “Lama waktu yang exit 0 Budi Susanto

$2` 60` % 60` dibutuhkan adalah $JAM jam $MENIT menit”

5

Selain menggunakan perintah expr (dengan menerapkan command substitution), pada bash shell juga dapat menerima ekspresi aritmatika sebagai bentuk perluasan shell dengan sintak umum : varname=$((ekspresi)) operator yang dapat diterima antara lain (dikelompokkan berdasar tingkat/level operasi yang sama) : - +

negatif dan positif

! ~

logika kebalikan (not)

**

Pangkat

* / %

perkalian, pembagian dan sisa hasil bagi

+ -

penambahan dan pengurangan

>

pergeseran bit ke kiri dan ke kanan

= < >

Perbandingan

== !=

sama dan tidak sama

&

operasi bit AND

^

operasi bit XOR

|

operasi bit OR

&&

logika AND

||

logika OR

expr ? expr : expr

evaluasi kondisi

= *= /= %= += -= = &= ^= |=

pemberian nilai hasil dari suatu operasi aritmatika

Contoh (readex.sh): #!/bin/bash echo “Masukkan angka pertama :” read angka1 echo “Masukkan angka kedua :” read angka2 hasil=$(($angka1 + $angka2)) echo “Hasil $angka1 + $angka2 = $hasil”

Budi Susanto

6

Menerima masukan dari keyboard Contoh (readex.sh) #!/bin/bash echo “Masukkan angka pertama :” read angka1 echo “Masukkan angka kedua :” read angka2 hasil=$(($angka1 + $angka2)) echo “Hasil $angka1 + $angka2 = $hasil”

Here Document Pada sebuah script shell, kita dapat melakukan redirection langsung ke output dengan cara menandai dengan...


Similar Free PDFs