Workshop Labsi - skylacha.files.wordpress.com · Pemrograman Shell Linux Husni husni@if.trunojoyo.ac.id husni.trunojoyo.ac.id. Garis Besar Shell Linux Pemrograman Shell Contoh-contoh.
Post on 19-Oct-2020
9 Views
Preview:
Transcript
Workshop Labsi
Pemrograman Shell Linux
Husnihusni@if.trunojoyo.ac.id
husni.trunojoyo.ac.id
mailto:husni@if.trunojoyo.ac.id
Garis Besar
Shell Linux Pemrograman Shell Contoh-contoh
Shell
Tempat interaksi antara pengguna dan Linux Penerjemah atau Pengeksekusi Program
(Interpreter, Executor) Antarmuka teks (command line) Banyak digunakan untuk administrasi sistem
dan mengelola file Hanya ada di sistem Unix (Linux). Windows tak
punya tool canggih seperti di Linux Ditandai oleh prompt $ (user) atau # (root)
Menggunakan Shell
InteraktifSatu atau lebih perintah shell diketik langsung pada promptHasil eksekusi ditampilkan langsung setelah (atau saat) eksekusi perintah
Menulis skrip (shell scripting) Pengguna menulis beberapa baris kode
(program, skrip) File skrip dieksekusi
Interaktif
date; whoami; pwd ps top ls -la echo ”Kereeeen” a=10; echo $a b=109; echo "B bernilai :" $b
Manual Perintah Shell
Gunakan ”man” man ls man ps man file
Bagaimana mencari file dengan ekstensi tertentu? Misalnya *.jpg?
find . -name '*.jpg' file nama_file cat nama_file more nama_file grep keren nama_file man grep
Pipeline
Echo ”aris joko faza fenny ubaid” Echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” Echo ”aris joko faza fenny ubaid” | tr ” ” ”\n” |
sort Echo ”aris joko faza fenny ubaid” | tr ” ” ”\n”
| sort -r
Redirection
date > sekarang.txt cat sekarang.txt date >> sekarang.txt cat sekarang.txt
Menulis Skrip Shell
Tulis skrip menggunakan suatu Text Editor. Simpan sebagai file teks biasa, ekstensi .sh
Ubah agar file skrip .sh tersebut bersifat executable: Baris pertama harus: #!/bin/bash Ubah agar exeutable: chmod +x nama_file.sh
Eksekusi file skrip: . /nama_file.sh
Skrip Pertama: 01.sh
Tulis 2 baris skrip berikut: #!/bin/bashecho "Halo, Saya belajar pemrograman shell Bash Linux."
Simpan sebagai skrip01.sh Pada shell prompt, ketik:
chmod +x skrip01.sh . /skrip01.sh
Contoh 02: 02.sh
#!/bin/basha=5.66b=8.67c=`echo $a + $b | bc`echo "$a + $b = $c"
Contoh 03: 03.sh
#!/bin/bash
echo "Halo, $LOGNAME"echo "Tanggal sekarang `date`"echo "Pengguna: `who i am`"echo "Direktori aktif `pwd`"
Contoh 04: dir.sh
#!/bin/bash
echo ”Daftar file Anda: ”;ls -lecho ”Thank U very Much”;
Contoh05 : secho.sh#!/bin/sh# Nama file skrip: kedua.sh# Apa yang dihasilkan skrip ini?echo "Halo dunia " # Halo duniaecho "Halo dunia "echo "Halo * dunia”; echo Halo * duniaecho Halo dunia; echo "Halo" duniaecho Halo " " dunia; echo "Halo \"*\" dunia "echo `halo` dunia; echo 'hello' dunia
Variabel
Tidak dideklarasikan Tidak ada tipe data Tanpa spasi sebelum dan setelah ”=” Case sensitive A=10; Nama=”Nama anda”; nama = siapa anda
Contoh06: var1.sh
#!/bin/sh# Nama file skrip: var1.shMY_MESSAGE="Halo dunia"echo $MY_MESSAGE
Contoh07: var2.sh
#!/bin/sh# Nama file skrip: var2.shecho Siapa anda?read MY_NAMEecho "Hello $MY_NAME - hope you're well."
Contoh08: var3.sh
#!/bin/shecho "MYVAR is: $MYVAR"MYVAR="hi there"echo "MYVAR is: $MYVAR"
$ MYVAR=hello$ export MYVAR$ ./var3.sh
Contoh09: var4.sh
#!/bin/shecho "Siapa nama anda?"read USER_NAMEecho "Halooo $USER_NAME"echo "Buat file bernama $USER_NAME_file"touch $USER_NAME_file
#!/bin/shecho "Siapa nama anda?"read USER_NAMEecho "Halooo $USER_NAME"echo "Buat file bernama ${USER_NAME}_file"touch ${USER_NAME}_fileecho "Test 1 2 3" >> "${USER_NAME}_file"cat "${USER_NAME}_file"
Karakter Escape
Bagaimana menampilkan Halo dunia? Bagaimana menampilkan Halo ”dunia”
$ echo "Halo dunia" $ echo "Halo \"dunia\""
$ echo "A quote is \", backslash is \\, backtick is \`."$ echo "A few spaces are ; dollar is \$. \$X is ${X}."
Perulangan (Looping)
for do done while until
Contoh10: loop1.sh
#!/bin/bashfor i in 1 2 3 4 5do echo "Welcome $i times"done
for i in 1 2 3 4 5 dapat diganti for i in {1..5}
Contoh11: loop2.sh
#!/bin/bashecho "Bash version ${BASH_VERSION}..."for i in {0..10..2} do echo "Welcome $i times" done
Bentuk 3 Ekspresi
#!/bin/bashfor (( c=1; c
Infinite Loop
#!/bin/bashfor (( ; ; ))do echo "infinite loops [ hit CTRL+C to stop]"done
Looping: While
#!/bin/bashx=1while [ $x -le 5 ]do echo "Welcome $x times" x=$(( $x + 1 ))done
Looping: while
#!/bin/bashCOUNT=6# bash while loopwhile [ $COUNT -gt 0 ]; do
echo Value of count is: $COUNTlet COUNT=COUNT-1
done
Faktorial
#!/bin/bashcounter=$1factorial=1while [ $counter -gt 0 ]do factorial=$(( $factorial * $counter )) counter=$(( $counter - 1 ))doneecho $factorial
Looping: Until
#!/bin/bashCOUNT=0
until [ $COUNT -gt 5 ]; do echo Value of count is: $COUNT let COUNT=COUNT+1done
Array
#!/bin/bashARRAY=( 'Debian Linux' 'Redhat Linux' Ubuntu Linux )
# ambil jumlah elemen arrayELEMENTS=${#ARRAY[@]}for (( i=0;i
Test: if
#!/bin/bashdirectory="./BashScripting"
# cek direktori, atau atau tidakif [ -d $directory ]; then
echo "Directory exists"else
echo "Directory does not exists"fi
Perbandingan
#!/bin/bash
NUM1=2NUM2=2if [ $NUM1 -eq $NUM2 ]; then
echo "Both Values are equal"else
echo "Values are NOT equal"fi
Perbandingan#!/bin/bashNUM1=2NUM2=1if [ $NUM1 -eq $NUM2 ]; then
echo "Both Values are equal"elif [ $NUM1 -gt $NUM2 ]; then
echo "NUM1 is greater then NUM2"else
echo "NUM2 is greater then NUM1"fi
Fungsi
function name(){ Commands}---- atau ----name(){ Commands return $TRUE}
Fungsi
/bin/bashfunction function_B { echo Function B. }function function_A { echo $1 }function function_D { echo Function D. }function function_C { echo $1 }
Memanggil Fungsi
# Lewatkan parameter ke fungsi Afunction_A "Function A."function_B# Lewatkan parameter ke fungsi Cfunction_C "Function C."function_D
Case
#!/bin/bashecho "Apa bahasa favorit Anda?"echo "1) bash"echo "2) perl"echo "3) phyton"echo "4) c++"echo "5) Mene ketehe !"read case;
#simple case bash structurecase $case in 1) echo "Anda memilih bash";; 2) echo "Anda memilih perl";; 3) echo "Anda memilih phyton";; 4) echo "Anda memilih c++";; 5) exitesac
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40
top related