$ vi p1.sh
echo “program bash script”
$ ls -l p1.sh
$ chmod +x p1.sh
$ ls –l p1.sh
$ bash p1.sh
$ sh p1.sh
$ . p1.sh
$ . /p1.sh
$ vi p1.sh
#!/bin/bash
echo “program bash script”
$ vi p2.sh
#!/bin/bash
echo “Program 2 bash script”
Analisis: Gambar di atas merupakan perintah membuat Bash-Script dan
menjalankannya. Konvensi dalam pembuatan script shell dinyatakan sebagai
#!/bin/bash. Tambahkan pada file p2.sh konvensi tersebut dengan tulisan “Program 2
bash script”.
6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan
tanda ;
1. Proses foreground
$ ps x
Analisis: Gambar di atas merupakan perintah Job Control. Proses foreground dengan
menggunakan perintah ps x , maka akan muncul output daftar file yang sedang
dijalanjan.
2. Proses background
3. Setiap job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang aktif
$ jobs
Analisis: Gambar di atas merupakan perintah Job Control. Setiap job mempunyai PID
yang tunggal (unique). Untuk melihat jobs yang aktif dengan menggunakan perintah
jobs, maka akan muncul output proses yang berjalan yaitu ps x > hasil tadi.
4. Buatlah file ploop.sh. file ini tidak akan pernah berhenti kecuali ditekan CTRL+C
$ vi ploop.sh
#!/bin/bash
while [true]
do
sleep 10
echo “Hallo”
done
Analisis: Gambar di atas merupakan perintah Job Control. Membuat file ploop.sh. file
ini tidak akan pernah berhenti kecuali ditekan CTRL+C dengan menggunakan
perintah $ vi ploop.sh kemudian ketikkan while [true], do, sleep 10, echo “Hallo”,
done.
5. Buatlah file ploop.sh menjadi executable. Jalankan program, akan ditampilkan kata Hallo
setiap 10 detik. Untuk keluar program, tekan CTRL-C (^C)
$ chmod +x ploop.sh
$ ./ploop.sh
Analisis: Gambar di atas merupakan perintah Job Control. Membuat file ploop.sh
menjadi executable. Jalankan program, akan ditampilkan kata Hallo setiap 10 detik.
Untuk keluar program, tekan CTRL-C (^C) dengan menggunakan perintah chmod +x
ploop.sh dan ./ploop.sh, maka harusnya akan muncul output dengan menampilkan
kata hallo berulang kali setiap 10 detik, tetapi pada hasil saya tidak tampil.
$ dirs
Analisis: Gambar di atas merupakan perintah yaitu Manipulasi stack untuk Direktori.
Perintah diatas merupakan cara untuk membuat tiga direktori dengan satu perintah.
3. Instruksi dirs digunakan untuk melihat stack direktori, pada output hanya ditampilkan
direktori home ~
$ dirs
Percobaan 9 : Alias
1. Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok instruksi.
Untuk melihat alias yang sudah terdaftar pada sistem:
$ alias
Analisis: Gambar di atas merupakan perintah Alias. Alias adalah mekanisme untuk
memberi nama alias pada satu atau sekelompok instruksi. Untuk melihat alias yang
sudah terdaftar pada sistem, maka akan muncul output yang memberi informasi
perintah alias.
Analisis: Gambar di atas merupakan perintah Alias. Untuk membuat beberapa alias
menggunakan perintah alias del=’rm –i’ artinya dengan menggunakan alias del, maka
yang akan dikerjakan rm-i. Dan alias h=’history’ artinya perintah alias h akan
menjalankan perintah history.
$ ls
$ del hasil
$ h | more
Analisis: Gambar di atas merupakan perintah Alias. Untuk menggunakan instruksi
hasil alias menggunakan perintah ls untuk melihat current working directory,
kemudian perintah del hasil digunakan untuk menghapus file hasil, karena alias del
menjalankan perintah rm-i tadi. Dan perintah h | more digunakan untuk menjalankan
perintah history, karena perintah h tadi merupakan alias dari perintah history.
$ unalias del
$ del files (Terdapat pesan Kesalahan, mengapa?)
Analisis: Gambar di atas merupakan perintah Alias. Untuk menghapus alias gunakan
instruksi unalias menggunakan perintah unalias del, yang tadi menggunakan perintah
rm –i. Dan del files tidak berfungsi karena perintah alias del sudah dihapus.
LATIHAN:
b. Asumsi nama anda student, maka edit semua profile yang ada yaitu:
/home/student/.bash_profile
/home/.student/.bash_login
/home/student/.profile
/home/student/.bashrc
c. Ganti nama /home/student dengan nama anda sendiri. Pada setiap file tersebut,
cantumkan instruksi echo, misalnya pada
/home/student/.bash_profile:
echo “Profile dari .bash_profile”
$ vi /home/damelia/.bash_profile
$ vi /home/. damelia/.bash_login
$ vi /home/damelia/.profile
$ vi /home/damelia/.bashrc
Analisis: Gambar di atas merupakan latihan nomer 1 c, yaitu menambahkan instruksi
pada file /home/damelia/.bash_profile dengan instruksi echo “Profile
dari .bash_profile”, kemudian cara menginputakan instruksi dengan i, kemudian esc
untuk mengakhiri perintah insert, lalu perintah :wq untuk menyimpan dan keluar dari
text editor. Pada /home/. damelia /.bash_login dengan instruksi echo “Profile
dari .bash_login”, kemudian cara menginputakan instruksi dengan i, kemudian esc
untuk mengakhiri perintah insert, lalu perintah :wq untuk menyimpan dan keluar dari
text editor. Pada /home/ damelia/.profile dengan instruksi echo “Profile dari .profile”,
kemudian cara menginputakan instruksi dengan i, kemudian esc untuk mengakhiri
perintah insert, lalu perintah :wq untuk menyimpan dan keluar dari text editor. Pada
/home/ damelia /.bashrc dengan instruksi echo “Profile dari .bashrc”, kemudian cara
menginputakan instruksi dengan i, kemudian esc untuk mengakhiri perintah insert,
lalu perintah :wq untuk menyimpan dan keluar dari text editor.
d. Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang
bersangkutan.
2. Jalankan instruksi subtitute user, kemudian keluar dengan perintah exit sebagai
berikut:
$ su student
$ exit
$ su – student
$ exit
Analisis : Tampilan diatas merupakan jawaban no 2, yaitu perintah $ su - student
digunakan untuk pindak ke super user, sistem meminta password admin. Pada
perintah tersebut akan menjalankan dua file yaitu file .bashrc dan file .bash_profile
yang keduanya sudah dimodifikasi sebelumnya sehingga instruksi echo terpanggil
bila menggunakan perintah SU, untuk mengakhiri menggunakan Perintah $ exit. jadi
yang membedakannya yaitu memunculnya jumlah file yang dibuka dan mengakhiri
filenya dengan akhiran logout. Jelaskan perbedaan kedua utilitas tersebut. Sudah
terdapat pada analisis diatas
3. Logout
a. Edit file .bash_logout, tampilkan pesan dan tahan selama 5 detik, sebelum eksekusi
logout
Analisis : Tampilan diatas merupakan jawaban no3, yaitu membuat program logout
menggunakan vi editor. Perintah $ vi .bash_logout digunakan untuk membuat text
editor membuat program. Kemudian insert echo “Terima kasih atas sesi yang
diberikan”
sleep 5
clear
b. Edit file .bash_logout, tampilkan pesan dan tahan selama 4 detik, sebelum eksekusi
logout
Analisis: Tampilan diatas merupakan jawaban no3, yaitu mengedit program logout
menggunakan vi editor. Perintah $ vi .bash_logout digunakan untuk membuat text editor
membuat program. Kemudian edit text editor menjadi insert echo “Terima kasih atas sesi
yang diberikan”
sleep 4
clear
Dengan menggunakan i, setelah selesai akhiri dan simpan dengan perintah :wq.
Perintah $ chmod +x .bashk_logout berfungsi untuk merubah file menjadi excutable.
Perintah $ ./.bash_logout untuk mengeksekusi file .bash_logout.
4. History
$ HISTSIZE=20
$h
Analisis: Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Ketikkan
perintah set | grep HISTSIZE untuk mengecek jumlah history sebelumnya kemudian
ubah history tersebut menjadi 20 menggunakan perintah echo, >> dan file .bashrc.
Setelah itu cek kembali apakah sudah berubah atau belum menggunakan perintah
set | grep HISTSIZE, maka akan muncul output seperti gambar di atas.
b. Gunakan fasilitas history dengan mengedit instruksi baris ke 5 dari instruksi yang terakhir
dilakukan.
$ !-5
c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan ^N untuk bernavigasi pada history
buffer
$ !!
!150
$ !401
Analisis: Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Perintah !-
5 digunakan untuk menampilkan atau mengeksekusi kembali history pada 5 terakhir
perintah di history. Perintah !! digunakan mengulangi instruksi yang terakhir. Gunakan
juga ^P dan ^N untuk bernavigasi pada history buffer. Perintah !150 digunakan untuk
memanggil perintah dari history dengan nomor PID 150.
$ !ls
$ !?ls?
Analisis: Gambar di atas merupakan latihan nomer 4 yaitu tentang history. Perintah
prefiks ls ini akan menghasilkan perintah yang sama yaitu perintah ls –l.
a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan
parameter nama variabel tersebut, agar perubahan variabel PS1 dikenal oleh semua shell
PS1=’>’
Export PS1
Analisis: Gambar di atas merupakan latihan nomer 5 yaitu tentang prompt string. Edit
file .bash_profile, ganti prompt PS1 dengan ‘>’. Instruksi export diperlukan dengan
parameter nama variabel tersebut, agar perubahan variabel PS1 dikenal oleh semua
shell, maka akan muncul output seperti gambar di atas. Ada beberapa tampilan
prompt PS1 yaitu dengan nomor perintah (\!), date (\d), time (\t), who=user(\u),
working directory (\w).
Analisis: Gambar di atas merupakan latihan nomer 5 yaitu tentang prompt string.
Mengubah warna shell prompt dengan warna biru dan berkedip menggunakan
perintah seperti pada gambar di atas, maka output tulisan akan berkedip.
6. Bash script
P1.sh
#!/bin/bash
echo “Program p1”
ls –l
$ vi p2.sh
#! /bin/bash
echo “Program p2”
who
$ vi p3.sh
#! /bin/bash
echo “Program p3”
ps x
Analisis: Tampilan diatas merupakan jawaban nomor 6a, yaitu membuat program file
menggunakan vi editor. Pada Program $ vi p1.sh diinputkan script dengan menekan i
pada vi editor. Lalu isi script berikut :
#! /bin/bash
echo “Program p1”
ls –l
Setelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk
menyimpan dan keluar.
Pada Program $ vi p2.sh diinputkan script dengan menekan i pada vi editor. Lalu isi
script berikut:
#! /bin/bas
echo “Program p2”
who
Setelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk
menyimpan dan keluar.
Pada Program $ vi p3.sh diinputkan script dengan menekan i pada vi editor. Lalu isi
script berikut:
#! /bin/bash
echo “Program p3”
ps x
Setelah selesai penginputan takan esc untuk berhenti dan tekan :wq untuk
menyimpan dan keluar.
$ ./p1.sh &
Analisis: Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script.
Perintah ./p1.sh &, berfungsi untuk menampilkan file script p1.sh dengan proses
background.
$ ./p1.sh $ ./p2.sh & ./p3.sh &
Analisis: Gambar di atas merupakan latihan nomer 6 yaitu tentang bash script.
Perintah $ ./p1.sh $ ./p2.sh & ./p3.sh & berfungsi untuk menampilkan ketiga script
secara bersamaan dengan proses background.
7. Jobs
a. Buat shell- script yang melakukan loop dengan nama pwaktu.sh, setiap 10 detik,
kemudian menyimpan tanggal dan jam pada file hasil.
#!/bin/bash
while [true]
do
V - 60
date >> hasil
sleep 10
done
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah vi
pewaktu.sh berfungsi untuk membuat program dan akan masuk pada tampilan vi
editor. Tekan i untuk insert script seperti berikut
$ jobs
$ find / -print > files 2>/dev/null &
$ jobs
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah jobs
pertama akan menampilkan jobs yaitu dari program ./pwaktu.sh dengan status
terhenti. Kemudian ditambahkan lagi satu program utilitas find di bakground. Maka
apabila di cek kembali hanya jobs find yang akan running. Sementara yang lainnya
dalam keadaan terhenti.
$ fg %1
$ bg
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Jobs dengan
nomor perintah 1 yaitu ./pwaktu.sh akan dijalankan sebagai program foregorund
dengan menggunakan perintah fg %1. Kemudian dengan menekan ctrl + z maka
program akan stopped. Kemudian program ./pwaktu.sh ini akan dijalankan di
backgorund dengan perintah bg.
$ ps x
$ kill [Nomor PID]
Analisis: Gambar di atas merupakan latihan nomer 7 yaitu tentang jobs. Perintah perintah
ps x berfungsi untuk melihat proses status foreground, kemudian untuk mengentikan atau
stop program pada background dengan perintah kill 3591 maka proses bash dengan no
PID 3591 terhenti.
Kesimpulan:
File tidak dapat di eksekusi jika tidak di executable terlebih dahulu. warna prompt dapat
di ubah sesuai keinginan kita.dapat mematikan proses sesuai keinginan kita. Dan dapat
membuat proses yang menarik melalui file yang kita berikan perintah.