01 tk2123 - pemrograman shell-2
TRANSCRIPT
![Page 1: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/1.jpg)
TK2123 Pemrograman Shell Semester Genap 2014/2015
TASS, Bandung 2015
www.tass.telkomuniversity.ac.id
Hanya dipergunakan untuk kepentingan pengajaran di lingkungan Applied Science School – Telkom University
Kajian 1 – Dasar Pemrograman Shell
![Page 2: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/2.jpg)
Aturan Perkuliahan Kehadiran 16 pekan ( 13x kuliah + 3x assessmen ) 1 pekan 2x pertemuan (teori + exercise) 32
pertemuan Hadir > 24 pertemuan
Presensi:
1. RFID card, dan 2. Tanda tangan
Keterlambatan Max 15 menit
![Page 3: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/3.jpg)
Tugas / praktek / kuis : 30% Assessmen 1 : 20%-30% Assessmen 2 : 20%-30% 70% Assessmen 3 : 20%-30%
Penilaian
![Page 4: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/4.jpg)
mahasiswa dapat membuat program yang mampu memanipulasi, memonitoring sistem operasi dan sumber daya komputer berbasis Linux dengan memanfaatkan Shell Programming
Standar Kompetensi
![Page 5: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/5.jpg)
Burtch, K. O. (2004). Linuk Shell Scripting With Bash. (E. Finney, Ed.) Indianapolis, United States of America: Developer's Library.
Albing, C., Vossen, J., & Newham, C. (2007). Bash Cookbook (1st ed.). (L. R. Ruma, Ed.) United States of America: O'Reilly Media inc.
Quigley, E. (2005). Unix Shell by Example (4th ed.). (N. Regina, Ed.) United States of America: Prentice Hall.
Sobell, M. G. (2011). A practical guide to linux Command, editors, and Shell programming (2nd ed.). Boston, United States of America: Prentice Hall.
Referensi
![Page 6: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/6.jpg)
Review OS (Linux) - History
![Page 7: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/7.jpg)
Minix, 1987, Prof. Andrew S. Tanenbaum
Linux, 1991, Linus Torvalds
UNICS, 1969, AT&T
UNIX 6 ,1976
![Page 8: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/8.jpg)
Linux Directory
![Page 9: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/9.jpg)
Linux Command
http://linoxide.com/linux-command/linux-commands-cheat-sheet
![Page 10: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/10.jpg)
$ date $ date +”Hari ini %A,%B %d, %Y.%nJam %r,%Z.”
$ cal 9 2006 $ cal -y
Waktu & Tanggal
![Page 11: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/11.jpg)
$ whatis cal $ whatis date
$ date --help $ cal –help
$ man date $ man man $ man –f cal $ man –k date $ man –K date $ man 1 passwd $ man 5 passwd
$ info date $ info cal
Manual
![Page 12: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/12.jpg)
$ ls /usr/share/doc $ pwd $ echo $HOME $ mkdir work $ cd /home/student/work $ cd .. $ cd -
Direktori
![Page 13: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/13.jpg)
$ pwd $ cd . $ pwd $ cd .. $ pwd $ cd $ ls $ ls –a $ ls / $ ls –l /usr $ ls –ld /usr
Direktori
![Page 14: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/14.jpg)
$ touch testfile $ ls /home/student $ cp ~student/tesfile /tmp/student_test_file $ ls /tmp $ cd /tmp $ ls –l file3.txt $ cp file3.txt ~/backups $ ls –l ~/backups $ cp file3.txt /home/student/backup/ $ ls –l /home/student/backup/ $ cp file3.txt /home/student/copies/
Manipulasi File & Direktori
![Page 15: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/15.jpg)
$ ls ~student $ mv ~student/testfile /tmp/student_test_file
$ ls ~student $ ls /tmp/ $ mv procedure.txt.bak2 /home/student/procedures/
$ ls –l foo $ mv foo bar $ ls –l bar
Manipulasi File & Direktori
![Page 16: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/16.jpg)
$ cd $ rm work $ rm –ri work $ mkdir work $ rmdir work
Manipulasi File & Direktori
![Page 17: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/17.jpg)
$ file /usr/share/doc/HTML/bookmarks.html
$ file testfile $ cat /etc/profile $ cat /etc/passwd $ less /etc/profile $ more /etc/profile
Manipulasi File & Direktori
![Page 18: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/18.jpg)
$ echo $HOME $ echo $PATH $ env $ printenv $ echo “Hello world” $ echo ‘Hello world’
Interaksi
![Page 19: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/19.jpg)
Antarmuka interaksi user dan kernel sistem operasi berbasis command line.
Shell
![Page 20: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/20.jpg)
Macam Shell Linux
![Page 21: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/21.jpg)
# Melihat jenis shell yang ada $ cat /etc/shells <enter> # Menampilkan jenis shell aktif $ echo $SHELL <enter> # Menampilkan path aktif $ echo $PATH <enter>
Perintah Terkait Shell
![Page 22: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/22.jpg)
#!/bin/bash #myinfo #membersihkan tampilan layar clear #menampilkan informasi echo -n "Waktu sistem :"; date echo -n "Nama :"; whoami echo -n "Banyak pemakai :"; who | wc –l echo -e "\ading" #end
nano latihan2a.sh shebang, sha-bang, hashbang, pound-bang,hash-exclam,hash-pling
![Page 23: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/23.jpg)
#!/bin/bash echo "halo $LOGNAME ,senang bertemu denganmu" echo "direktori anda saat ini `pwd`“ echo "anda bekerja di mesin `uname –a`" #end LOGNAME merupakan variabel environtment
nano latihan2b.sh
![Page 24: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/24.jpg)
Nama lokasi di memori yang dipakai untuk menyimpan data, bersifat temporer / sementara.
Variabel
![Page 25: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/25.jpg)
1. Environment Variable 2. Positional Parameter 3. User Defined Variable
Macam Variabel
![Page 26: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/26.jpg)
variabel yang dipakai khusus untuk proses kerja sistem. Contoh PS1, PS2, HOME, PATH, USER, SHELL, dll PS1 untuk men-set prompt shell pertama (default "\s-\v\$") PS2 untuk prompt pelengkap perintah, ditampilkan jika perintah dianggap belum lengkap oleh shell (default ">").
Environment Variable
![Page 27: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/27.jpg)
#Simpan dulu prompt lama $ PS1LAMA=$PS1 <enter> #set prompt ke nilai baru $ PS1="Promptku!“<enter>
Latihan Set Prompt
![Page 28: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/28.jpg)
#contoh pemakaian $ PS1="[\t][\u@\h:\w]\$"<enter>
Karakter backslash untuk prompt
![Page 29: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/29.jpg)
Berikan perintah berikut $ env <enter>
List Variabel Environment
Buatlah shell script untuk menampilkan berbagai varibel yang ada. Jangan lupa berikan labelnya
![Page 30: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/30.jpg)
Merupakan parameter yang digunakan shell untuk menampung argumen pemanggilan baik berupa argumen saat sebuah file dijalankan atau argumen yang dikirim ke subrutin.
Positional Parameter
![Page 31: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/31.jpg)
#!/bin/bash #argumen1 echo $1 adalah salah satu $2 populer di $3 #end ./argumen1 joko siti asep
nano latihan2c.sh
![Page 32: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/32.jpg)
#!/bin/bash #argumen2 clear echo "Nama script : $0"; echo "Banyak argumen : $#"; echo "Argumennya adalah: $*"; #end ./argumen 1 2 3 empat
nano latihan2d.sh
![Page 33: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/33.jpg)
variabel yang didefinisikan sendiri oleh pembuat script. Ketentuan : dimulai dengan huruf atau underscore hindari pemakaian karakter spesial seperti
*,$,#,dll ... bersifat case sensitive
User Defined Variable
![Page 34: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/34.jpg)
myos="linux" #double-quoted nama='pinguin' #single-quoted hasil=`ls -l`; #back-quoted angka=12
Contoh
![Page 35: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/35.jpg)
#!/bin/bash nama="pinguin" kata='Hi $nama, apa kabar' #menyisipkan variabel nama echo $kata;
nano latihan2e.sh
![Page 36: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/36.jpg)
#!/bin/bash hapus=`clear`; #hasil dari perintah ls -l disimpan di variabel isi isi=`ls -l`; #hapus layar echo $hapus #ls -l echo $isi;
nano latihan2f.sh
![Page 37: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/37.jpg)
Adalah sebuah metode yang dilakukan untuk mencari, mengurangi, menghilangkan bug (error atau kesalahan) dalam program. Memakai command built in : set -x : display commands dengan
argument yang dieksekusi. set -v : menampilkan baris shell input
seperti yang tertulis.
Debugging
![Page 38: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/38.jpg)
#!/bin/bash echo "hello ${LOGNAME}" echo "hari ini ${date}" echo "Mencoba melakukan debug pada script" w
nano latihan2g.sh
![Page 39: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/39.jpg)
#!/bin/bash -x echo "hello ${LOGNAME}" echo "hari ini ${date}" echo "Mencoba melakukan debug pada script" w
nano latihan2ged.sh
![Page 40: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/40.jpg)
Melihat identitas diri (nomor id dan group id)
$ id
Melihat tanggal dan kalender dari system
Melihat tanggal saat ini
$ date
Melihat kalender
$ cal 18 2008
$ cal -y
Melihat identitas mesin
$ hostname
$ uname
$ uname -a
Perintah-perintah
![Page 41: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/41.jpg)
Melihat siapa yang sedang aktif Mengetahui siapa saja yang sedang aktif $ w $ who $ whoami Mengubah informasi finger $ chfn <user> Changing finger information for student. Password: Name[user wks]: <Nama Pengguna di wks> Office[]: Lab Pemrograman 2 Office Phone []: 2301 Home Phone []: 5947280 Finger information changed. Melihat informasi finger $ finger $ finger <user>
![Page 42: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/42.jpg)
Menggunakan manual $ man ls $ man man $ man –k file $ man 5 passwd Menghapus layer $ clear Mencari perintah yang deskripsinya mengandung kata kunci yang dicari $ apropos date $ apropos mail $ apropos telnet Mencari perintah yang tepat sama dengan kunci yang dicari $ whatis date
![Page 43: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/43.jpg)
Melihat tipe file
$ file
$ file *
$ file /bin/ls
Menyalin file
Mengkopi suatu file. Berikan opsi –i untuk pertanyaan interaktif bila file sudah ada.
$ cp /etc/group f1
$ ls –l
$ cp –i f1 f2
$ cp –i f1 f2
Mengkopi ke direktori
$ mkdir backup
$ cp f1 f3
$ cp f1 f2 f3 backup
$ ls backup
$ cd backup
$ ls
![Page 44: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/44.jpg)
Melihat isi file Menggunakan instruksi cat $ cat f1 Menampilkan file per satu layar penuh $ more f1 $ pg f1 Mengubah nama file Menggunakan instruksi mv
![Page 45: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/45.jpg)
$ mv f1 prog.txt $ ls Memindahkan file ke direktori lain. Bila argumen terakhir adalah nama direktori, maka berkas-berkas akan dipindahkan ke direktori tersebut. $ mkdir mydir $ mv f1 f2 f3 mdir Menghapus file $ rm f1 $ cp mydir/f1 f1 $ cp mydir/f2 f2 $ rm f1 $ rm –i f2
![Page 46: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/46.jpg)
Mencari kata atau kalimat dalam file $ grep root /etc/passwd $ grep “:0:” /etc/passwd $ grep student /etc/passwd
![Page 47: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/47.jpg)
Tugas resume perintah
![Page 48: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/48.jpg)
$echo "$var" atau $echo $var atau $echo "${var} " atau $printf $var atau printf "%s\n" ${Var} // gunakan man printf untuk kontrol lainnya atau $echo ${var=nilai variabel} atau $echo ${var-nilai variable} atau ${var:=defaultvalue}
Variabel
![Page 49: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/49.jpg)
$ echo ${coba:=test} $ kelas=PCE102 $ echo ${kelas:=PCE103} $ unset kelas $ echo ${kelas:=PCE103}
![Page 50: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/50.jpg)
#!/bin/bash # welcome message echo "*** Backup Shell Script ***" echo echo "*** Run time: $(date) @ $(hostname)" echo # Definisi variabel BACKUP="/PCE10" NOW=$(date +"%d-%m-%Y") # Start backup echo "*** Dumping MySQL Database to $BACKUP/$NOW..." # Just sleep for 3 secs sleep 3 # And we are done... echo echo "*** Backup wrote to $BACKUP/$NOW/latest.tar.gz"
nano latihan2h.sh
![Page 51: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/51.jpg)
$vech="shell" $printf "%s\n" $vech $printf "%1s\n" $vech $printf "%1.1s\n" $vech $printf "%1.2s\n" $vech $printf "%1.3s\n" $vech $printf "%10.3s\n" $vech $printf "%10.1s\n" $vech $no=10 $printf "%d\n" $no $big=5355765 $printf "%e\n" $big $printf "%5.2e\n" $big $sales=54245.22 $printf "%f\n" $sales $printf "%.2f\n" $sales
printf
![Page 52: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/52.jpg)
$echo "Path is $PATH" ## $PATH akan dieksekusi atau $echo 'I want to print $PATH' ## PATH tidak dieksekusi
Quote
![Page 53: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/53.jpg)
$FILE="/etc/resolv.conf" $echo "File is \"$FILE\" " FILE="/etc/resolv.conf" echo "File is \$FILE "
Backslash
![Page 54: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/54.jpg)
read -p "Prompt" variable1 variable2 variableN Jika tidak ada opsi, masukan dibaca tanpa dipilah terlebih dahulu. Batas pembacaan adalah karakter <enter>
READ (Input dari keyboard)
![Page 55: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/55.jpg)
Format READ
![Page 56: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/56.jpg)
#!/bin/bash read -p "Enter your name : " name echo "Hi, $name. Welcome to Shell Programming Lab.!"
nano latihan2i.sh
![Page 57: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/57.jpg)
#!/bin/bash # baca multiple input, 3 angka read -p "Bilangan pertama : " n1 read -p "Bilangan kedua : " n2 read -p "Bilangan ketiga : " n3 # tampilkan echo "Angka 1 - $n1" echo "Angka 2 - $n2" echo "Angka 3 - $n3"
nano latihan2j.sh
![Page 58: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/58.jpg)
Untuk membatasi waktu penginputan nilai variable dapat diset waktunya dengan option –t .
Timeout inputan
![Page 59: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/59.jpg)
nano latihan2k.sh
#!/bin/bash read -t 10 -p "Nama domain internet : " nama_domain echo $nama_domain
![Page 60: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/60.jpg)
Penanganan form untuk password dengan menyembunyikan karakter yang dimasukkan dapat menggunakan option –s.
Inputan Password
![Page 61: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/61.jpg)
#!/bin/bash read -s -p "Enter Password : " my_password echo echo "Your password - $my_password"
nano latihan2l.sh
![Page 62: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/62.jpg)
String yang mengandung spasi, dapat dipisahkan dengan option -r
Multiple Values Split
![Page 63: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/63.jpg)
#!/bin/bash nameservers="ns1.telu.cu ns2.telu.cu ns3.telu.cu" echo "$nameservers" printf "%s" $nameservers read -r ns1 ns2 ns3 <<< "$nameservers" echo "DNS Server #1 $ns1" echo " #2 $ns2" echo " #3 $ns2" printf "DNS Server #1 %s\n #2 %s\n #3 %s\n" $ns1 $ns2 $ns3
nano latihan2m.sh
![Page 64: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/64.jpg)
#!/bin/bash echo "Surname\n" echo "First name: \c" read name1 name2 echo "Welcome to Tel U $name2 $name1"
nano latihan2n.sh
![Page 65: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/65.jpg)
#!/bin/bash declare –i data1 data2 hasil read –p "Masukkan sebuah angka : " data1=$REPLY read –p "Masukkan angka lagi : " data2=$REPLY hasil=data1/data2 echo "hasil dari $data1 / data2 adalah $hasil" unset data1 data2 hasil
nano latihan2o1.sh
![Page 66: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/66.jpg)
#!/bin/bash let data1 data2 hasil read –p "masukkan sebuah angka : " data1=$REPLY read –p "masukkan sebuah angka lagi : " data2=$REPLY ((hasil=data1-data2)) echo "hasil dari $data1 - $data2 adalah $hasil " unset data1 data2 hasil
nano latihan2o2.sh
![Page 67: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/67.jpg)
Variabel yang menyimpan nilai lebih dari satu. Biasanya bertipe sama. Cara mendefinisikan : - declare –a - read –a - varX[index]
Array
![Page 68: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/68.jpg)
#!/bin/bash declare –a nilai=(mhs1 mhs2 mhs3 mhs4) echo "isi dari array indek 0 adalah ${nilai[0]} " echo "isi array ke 1 adalah ${nilai[1]} " echo "jumlah indek adalah ${#nilai[*]}" echo "isi array adalah ${nilai[*]} " unset nilai
nano latihan2p.sh
![Page 69: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/69.jpg)
#!/bin/bash declare –a x=(2 [3]=hai [8]=ali) echo "indek ke 0 berisi ${x[0]}" echo "indek ke 1 berisi ${x[1]}" echo "indek ke 3 berisi ${x[3]}" echo "indek ke 8 berisi ${x[8]}" echo "total indek adalah ${#x[*]}" unset x
nano latihan2q.sh
![Page 70: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/70.jpg)
#!/bin/bash echo "Ketikkan min. 3 nama buah " read –a buah echo "nama buah : ${buah[*]}" echo "jumlah buah ${#buah[*]}"
nano latihan2r.sh
![Page 71: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/71.jpg)
#!/bin/bash x[0]=3 x[5]=2 x[2]=4 echo "isi array adalah ${x[*]}" echo "jmlh indeks adalah ${#x[*]}" unset x
nano latihan2s.sh
![Page 72: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/72.jpg)
#!/bin/bash declare –ai x x[0]=2 x[2]=3 x[3]=${x[0]}*${x[2]} echo "hasil ${x[0]} kali ${x[2]} = ${x[3]}" echo "jumlah indek array adalah ${#x[*]}"
nano latihan2t.sh
![Page 73: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/73.jpg)
#!/bin/bash declare -ai larik larik[1,1]=1 larik[1]=10 larik[1,1,1]=4 echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}" echo "[1,1]= ${larik[1,1]}" echo "[1]= ${larik[1]}" echo "[1,1,1]=${larik[1,1,1]}"
nano latihan2u.sh
![Page 74: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/74.jpg)
#!/bin/bash declare -ai larik larik[1,1]=1 echo "[1,1]= ${larik[1,1]}" larik[1]=10 echo "[1]= ${larik[1]}" larik[1,1,1]=4 echo "[1,1,1]=${larik[1,1,1]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}"
nano latihan2v.sh
![Page 75: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/75.jpg)
#!/bin/bash declare -ai larik larik[1,1]=1 larik[1,2]=2 larik[1,3]=3 larik[2,1]=20 larik[2,2]=40 larik[2,3]=60 echo "[1,1]=${larik[1,1]}" echo "[1,2]=${larik[1,2]}" echo "[1,3]=${larik[1,3]}" echo "[2,1]=${larik[2,1]}" echo "[2,2]=${larik[2,2]}" echo "[2,3]=${larik[2,3]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}"
nano latihan2w.sh
![Page 76: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/76.jpg)
#!/bin/bash declare -Ai larik larik[1,1]=1 larik[1,2]=2 larik[1,3]=3 larik[2,1]=20 larik[2,2]=40 larik[2,3]=60 echo "[1,1]=${larik[1,1]}" echo "[1,2]=${larik[1,2]}" echo "[1,3]=${larik[1,3]}" echo "[2,1]=${larik[2,1]}" echo "[2,2]=${larik[2,2]}" echo "[2,3]=${larik[2,3]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}"
nano latihan2x.sh
![Page 77: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/77.jpg)
#!/bin/bash declare -Ai larik larik[1,1]=1 larik[1,2]=2 larik[1,3]=3 larik[2,1]=20 larik[2,2]=40 larik[2,3]=60 echo –n "[1,1]=${larik[1,1]}" echo –n "[1,2]=${larik[1,2]}" echo "[1,3]=${larik[1,3]}" echo –n "[2,1]=${larik[2,1]}" echo –n "[2,2]=${larik[2,2]}" echo "[2,3]=${larik[2,3]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}"
nano latihan2y.sh
![Page 78: 01 tk2123 - pemrograman shell-2](https://reader038.vdocuments.site/reader038/viewer/2022102709/58f107ab1a28ab306c8b4607/html5/thumbnails/78.jpg)
#!/bin/bash declare -Ai larik larik[1.nim]=1 larik[1.nama]="Mbilung" larik[1.kelas]="SP1" larik[2.nim]=20 larik[2.nama]="Cangik" larik[2.kelas]="SP2" echo –n "[1.nim]=${larik[1.nim]}" echo –n "[1.nama]=${larik[1.nama]}" echo "[1.kelas]=${larik[1.kelas]}" echo –n "[2.nim]=${larik[2.nim]}" echo –n "[2.nama]=${larik[2.nama]}" echo "[2.kelas]=${larik[2.kelas]}" echo "Jumlah elemen larik ${#larik[*]}" echo "Isi larik ${larik[*]}"
nano latihan2z.sh