40
Workshop Labsi Pemrograman Shell Linux Husni [email protected] husni.trunojoyo.ac.id

Workshop Labsi - skylacha.files.wordpress.com · Pemrograman Shell Linux Husni [email protected] husni.trunojoyo.ac.id. Garis Besar Shell Linux Pemrograman Shell Contoh-contoh

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

  • Workshop Labsi

    Pemrograman Shell Linux

    [email protected]

    husni.trunojoyo.ac.id

    mailto:[email protected]

  • 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