Bash Scripting 1
Bash Scripting 1
#!/bin/sh
# namafile: hello.sh
NAME=Willy // deklarasi variabel
echo Hello $NAME // tampilkan
#!/bin/sh
#filename: loginfo.sh
for TOKEN in $@
do
TOTAL=`expr $TOTAL + 1`
TOKEN=$1
shift
done
#!/bin/sh
# filename: shift2.sh
echo “Number of positional parameter: $#”
echo “First parameter: ${1:-EMPTY}”
shift $(($#-1))
echo “Last parameter: ${1:-EMPTY}”
Exit Code
● Setiap code pasti memiliki exit code
● Untuk mengetahui status perintah terakhir,
gunakan $?
● Nilai 0 untuk status perintah yang sukses
● Nilai non 0 untuk status perintah yang gagal
● Contoh
● true; echo $?
● false; echo $?
Shell Variables
● $HOME: path home directory
● $IFS: karakter untuk separator field
● $PATH: daftar direktori yang digunakan untuk
pencarian sebuah aplikasi/perintah
● $PWD: Path direktori aktual
Shell Variables
#!/bin/sh
# filename: ifs.sh
IFS=" "
printf "%s\n" `date`
echo -e “$PWD\n”
echo -e “$PATH\n”
echo -e “$HOME\n”
Parameter Expansion
Menerima Inputan
● Untuk menerima input dari user, digunakan
perintah read
● Contoh
#!/bin/sh
#filename: read.sh
echo -e "Masukkan bilangan 1 : \c"
read bil1
echo -e "Masukkan bilangan 2 : \c"
read bil2
echo "Hasil : $(($bil1+$bil2))"
Output Control
● File descriptor
● Stdin (0) : input keyboard
● stdout (1) : layar monitor
● stderr (2) : layar monitor
● Silent running
● Script 2>&1 > /dev/null
● Redirect standard error ke standard output lalu
redirect ke /dev/null
● Berguna untuk script yang berjalan secara
background
Latihan
● Buat program yang mampu menampilkan
informasi:
● <user>@<nama-host> is using kernel <kernel-
name> <versi-kernel> on
<jenis_prosesor>(<platform-hardware)/<arsitektur-
prosesor>
● willysr@desktop is using kernel Linux 2.6.26.5 on
AMD Athlon (tm) (Authentic AMD)/i686
Latihan
● Buat program yang menerima 2 input (nama
dan umur)
● Input umur boleh kosong, tetapi jika kosong,
diasumsikan umurnya adalah 20 tahun
● Tampilkan output <nama> lahir pada tahun
xxxx