Anda di halaman 1dari 38

LAPORAN

SISTEM OPERASI
BASHSHELL PEMOGRAMAN DI BASHSHELL

SEMESTER IV

DISUSUN OLEH

ABDURRAHMAN RAZIN AR RIDHO

2011082005

JURUSAN TEKNOLOGI INFORMASI


PROGRAM STUDI
D4 TEKNOLOGI REKAYASA PERANGKAT
LUNAK POLITEKNIK NEGERI PADANG
2022
BASHSHELL PEMOGRAMAN DI BASHSHELL

I. Tujuan
a. Dapat mengetahui dan memahami apa itu shell
b. Mahasiswa bisa menggunakan history pada bash shell
c. Mahasiswa mampu mengubah feature history pada bash shell
d. Mahasiswa mampu mengubah prompt pada shell
e. Mahasiswa mampu melakukan konfigurasi bash shell untuk menjalankan skrip
secara otomatis
f. Mahasiswa memahami job control
g. Mahasiswa memahami stack
h. Mahasiswa mampu menggunakan alias

II. Teori Singkat


1. SHELL
Shell adalah Command executive, artinya program yang menunggu instruksi dari
pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi
perintah tersebut. Shell ditandai dengan prompt. Untuk pemakai menggunakan
prompt $ dan untuk superuser menggunakan promp #.

Beberapa macam shell :


• /bin/sh
Bourne shell, dirancang oleh Steve Bourne dari AT&T
• /bin/csh
Dikembangkan oleh UNIX Berkeley yang dikenal dengan C -Shell
• /bin/bash

Kompatibel dengan Bourne Shell dan juga mengadaptasi kemampuan Korn-Shell.


Perbedaan mendasar antara Shell diatasi hampir tidak ada, kecuali pada fasilitas
pemrograman dan editing.

2. PROFILE
Pada saat login, program akan menjalankan beberapa program yaitu :
1. /etc/profile
Berisi shell script yang berlaku untuk seluruh pengguna Linux.
2. Profil untuk setiap pemakai
Pada home directory, login pertama kali akan memeriksa file .bash_profile . Bila
tidak ada, maka file .bash_login akan dicari. Bila .bash_login tidak ada, maka
dicari file bernama .profile .
3. .bashrc
File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain
melalui instruksi su.
4. .bash_logout
Pada saat logout, maka bash akan mencari file .bash_logout. Bila ada, file tersebut
akan dieksekusi sebe lum logout
Isi dari /etc/profile:
PATH merupakan daftar nama direktori. Bila sebuah instruksi diberikan dari
prompt shell, maka instruksi tersebut akan dicari pada daftar tersebut.
PS1 adalah prompt dimana
\u = Nama User
\h = Nama Host
\W = Nama working directory

3. HISTORY
History diadaptasi dari C-Shell, yaitu catatan dari semua instruksi yang sejauh ini
telah dilakukan. Catatan ini dapat dilihat sebagai history, kemudian dapat dipilih
kembali, diedit dan dieksekusi. History memudahkan pemakai untuk mengedit
kembali instruksi kompleks dan panjang, terutama bila terjadi kesalahan pada
penulisan instruksi maupun parameter. Navigasi pada daftar history menggunakan
karakter kontrool sebagai berikut :

^P (Ctrl-P) melihat instruksi sebelumnya


^N (Ctrl-N melihat instruksi berikutnya
!! eksekusi kembali instruksi sebelumnya
!! –3 3 instruksi sebelumnya akan diulang
!!88 ulangi instruksi no 88

4. BASH-SCRIPT
Bash-script adalah file yang berisi koleksi program yang dapat dieksekusi. Untuk
eksekusi bash script gunakan . sebelum file bash-script yang berarti eksekusi shell
dan tanda ./ berarti file bash-script berada pada direktori actual.

5. JOB CONTROL
Job adalah sebuah eksekusi program yang diberikan kepada kernel. Sebuah Job
dianggap selesai, bila eksekusi program tersebut berakhir. Eksekusi Job adalah
sama dengan eksekusi program, baik proses Background maupun proses
Foreground.
6. EDITOR vi

Vi adalah full screen editor, artinya editor tersebut dapat memanfaatkan fasilitas
satu layar penuh. Vi mempunyai 2 buah modus, yaitu :

• Command line
Editor vi mengintepretasikan input sebagai instruksi untuk dieksekusi oleh editor
contoh seperti mencari teks, mengganti teks secara otomatis dan lainnya.
• Editing
Editor vi mengintepretasikan input sebagai teks yang akan dimasukkan ke dalam
buffer editor. Pada bagian bawah layar akan tampil teks “INSERTING”. Pada
awal vi dijalankan, maka program memasuki command mode. Dengan menekan
tombol “i” maka akan memasuki editing. Untuk kembali ke command mode,
tekan tombol Esc.
Kunci-kunci teks editor vi dapat dilihat pada tabel sebagai berikut :

7. SHELL SCRIPT
Shell script dibuat dengan editor teks (ASCII editor) dan umumnya diberikan
ekstensi “.sh”. Script selalu diawali dengan komentar, yang dimulai dengan tanda
#, disambung dengan ! dan nama shell yang digunakan.

8. VARIABEL
Variable shell adalah variable yang dapat mempunyai nilai berupa nilai String.
Tata penulisan variable adalah sebagai berikut :
nama_var = nilai_var
Variable harus dimulai dengan alfabet, disusul dengan alfanumerik dan karakter
lain. Variabel dapat ditulis dalam huruf kecil atau huruf besar atau campuran
keduanya. Shell membedakan huruf besar dan huruf kecil (case sensitive), contoh
:
VPT=poltek
i=5
Pemberian nilai variable tidak boleh dipisahkan dengan spasi, karena shell akan
menganggap pemisahan tersebut sebagai parameter, contoh :

VPT =poltek ##error


VPT= poltek ##error

Untuk melihat nilai/isi dari sebuah variable, gunakan tanda $ di depan nama
variable tersebut. Pada shell, instruksi echo dapat menampilkan isi variable
tersebut,
contoh :

VPT=poltek
echo $VPT
Gaji=450000
echo $Gaji
echo $VPT $Gaji

Bila menggunakan string yang terdiri dari lebih dari satu kata, maka string tersebut
harus berada dalam tanda kutip atau apostrof, contoh :

VPT=poltek
VPT2=”Politeknik Negeri Padang”

9. MEMBACA KEYBOARD
Nilai variable dapat diisi melalui keyboard (stdin) dengan instruksi read.

10. PARAMETER
Sebuah program shell dapat mempunyai parameter sebanyak 9 buah dan
direpresentasikan melalui variable khusus yaitu variable $!, $2, $3, $4, $5, $6, $7,
$8 dan $9. Nama program she ll (nama script) direpresentasikan melalui variable
$0. Jumlah parameter dinyatakan sebagai $#. Bila tidak memberikan parameter,
maka nilai $# adalah 0. Shell variable $* menyatakan seluruh string yang menjadi
parameter / argumen sebuah script ($@ mempunyai arti yang sama). $$
menyatakan nomor proses id (pid) dari script yang dijalankan. Pid ini akan terus
berubah (umumnya) menaik, setiap kali proses berjalan.

11. STATUS EXIT


Setiap program setelah selesai dieksekusi akan memberikan informasi melalui
variable spesial $?. Indikasi yang diberikan adalah :

o Bila program berakhir dengan sukses, $? = 0


o Bila program berakhir dengan error, $? „ 0
Nilai dari status exit dapat dilihat melalui instruksi echo $?

12. KONSTRUKSI IF
if akan mengeksekusi instruksi-awal, dan exit status dari instruksi tersebut akan
menjadi kondisi. Bila 0, maka instruksi selanjutnyua masuk ke dalam blok then.
Bila tidak 0, maka alur program diteruskan setelah kunci kata fi.
13. KONSTRUKSI IF THEN ELSE
Bila status exit tidak sama dengan 0, maka kondisi menjadi FALSE dan instruksi
setelah else akan dijalankan.
14. INSTRUKSI TEST
Instruksi test digunakan untuk memeriksa kondisi dari sebuah ekspresi. Ekspresi
terdiri dari factor dan operator yang dipisahkan oleh spasi. Hasil test akan
memberikan nilai berupa status exit, yaitu 0 bila ekspresi sesuai, bila tidak maka
hasil adalah „ 0.
• Operator untuk test
• Test untuk files dan directory
Test dapat dilakukan untuk memeriksa apakah file ada (Exist), dapat dibaca, dapat
ditulis, kosong dan lainnya.
Untuk memudahkan pembacaan (readability), test dapat ditulis dengan
[ ekspresi ]
[ sebenarnya adalah nama lain dari test, bedanya [ akan mencari kurung penutup ]
pada akhir ekspresi yang harus dipisahkan oleh spasi.

15. LOGICAL && DAN || (SHELL LEVEL)


Notasi && dan || digunakan untuk menggabungkan instruksi shell sebagai
alternatif untuk if then else. Notasi && dan || sering ditemukan dalah shell
scriptsystem administrator untuk menjalankan routine dari system operasi.

• instruksi1 && instruksi2


shell akan mengeksekusi instruksi1, dan bila exit status instruksi1 adalah FALSE,
maka hasil dari AND tersebut sudah pasti sama dengan FALSE, sehingga
instruksi2 tidak mempunyai pengaruh lagi. Oleh karena itu, instruksi2 tidak
dijalankan. Sebaliknya bila hasil instruksi1 adalah TRUE(0), maka instruksi2
dijalankan
• instruksi1 || instruksi2
shell akan menge ksekusi instruksi1, bila exit status adalah TRUE(0), hasil dari
operasi OR tersebut sudah pasti menghasilkan TRUE, terlepas dari hasil eksekusi
instruksi2. Oleh karena itu instruksi2 tidak perlu dijalankan. Bila hasil instruksi1
adalah FALSE, maka instruksi2 akan dijalankan.

PENDAHULUAN
1. Apa yang dimaksud dengan shell dan sebutkan shell yang ada di system operasi Linux.
Shell merupakan Command executive artinya program yang menunggu instruksi dari
pemakai, memeriksa sintak dari instruksi yang diberikan, kemudian mengeksekusi
perintah tersebut. Berikut ini merupakan shell yang ada pada sistem operasi Linux:
•/bin/sh merupakan bourne shell yang dirancang oleh Steve Bourne dari AT&T
•/bin/csh dikembangkan oleh UNIX Barkeley yang dikenal juga dengan C-Shell
• /bin/bash kompatibel dengan Bourne shell dan mengadapatasi kemampuan korn-shell
2. Apa yang dimaksud dengan profile pada Bash shell
Profile pada bash shell merupakan profil untuk setiap pemakai pada home direktori.

3. Apa yang adan ketahui mengenai file .bashrc


File .bashrc merupakan file yang akam dieksekusi untuk perpindahan dari satu shell ke
shell yang lain menggunakan instruksi su.

4. Apa yang dimaksud dengan history pada Bash shell. Apa kegunaan perintah
history, sebutkan cara-cara untuk mengetahui history perintah-perintah yang pernah
digunakan oleh user! Hisory merupakan catatan dari semua instruksi yang sejauh ini
telah dilakukan. History memudahkan oemakai untuk mengedit kembali instuksi
kompleks dan panjang, terutama bila terjai kesalahan pada penulisan instruksi maupun
parameter. Langkah - langkah untuk mengetahui histroy :
• ^P (ctrl-P) melihat instruksi sebelumnya
• ^N (ctrl-N) melihat instruksi berikutnya
• !! eksekusi kembali instruksi sebelumnya
• !!-3 3 instrksi sebelumnya akan diulang
• !!88 ulangi instruksi no 88

III. Alat dan Bahan


a) Seperangkat Komputer
b) Aplikasi VirtualBox
c) Iso Linux

IV. Langkah Kerja


1. Profile
-Melihat file .bash profile yang hidden
• $ ls –a
• $ more ,bash_profile
-Melihat .bash_logout dengan instruksi
• $ cat .bash_lagout
2. Menggunakan feature history bash
-Melihat perintah-perintah yang pernah digunakan ,sebelumnya masukan
perintah-perintah sebelumnya yang diingat.Untuk melihat perintah perintah yang telah
digunakan masukkan perintah history
• $ cd
• $ ls –l /etc
• $ ls –l
• $ whoami
• $ who
-Untuk melihat semua perintah yang pernah dimasukkan
• $ history
-Memilih perintah dengan memasukkan nomor kunci dari perintah.
• $ ! <nomor perintah>, misalnya $ !401
-Mencari perintah dengan menyertakan perintah yang ada menggunakan
$ !?etc?
• $ ls –l /etc
• $ histor
-Jika string tidak terdaftar maka akan muncul pesan error. Misalnya;
• $ !?wombat99?
-Menjalankan perintah who dan whoa.
• $ !who
• $ !whoa
-Menggantikant string pada perintah history
• $ cat /bin/bash | strings | grep shell | less
• $ ^shell^alias^
3. Mengubah feature history bash
-Untuk melihat file history yang disimpan pada home directory
• $ cd
-Untuk melihat baris pada file.bash_history
• $ tail .bash_history
-Ketik perintah
• $ echo ‘Ini perintah saya’
-Kemudian pada perintah history selanjutnya akan tampil ‘Ini perintah
say’
• $ history
• $ tail .bash_history
-Melihat perintah
• $ history|less
-Melihat berapa banyak perintah history yang ada pada file
• $ wc –l .bash_history
• 1000 .bash history
-Melihat jangkauan history
• $ set | grep HISTSIZE
-Memperbesar jangkauan history dengan cara mengubah variabelnya.
• $ echo ‘HISTSIZE=5000’ >> .bashrc
-Perintah untuk tidak menambahkan perintah yang sama pada history
dengan variabel HISTCONTROL dan berikan nilai ignoredups
• $ echo ‘HISTCONTROL=ignoredups’ >> .bashrc
4. Mengubah prompt shell
-Menampikan waktu sistem dengan format 24 jam.
• $ PS1=’\t:’
-Menampilkan format 24 jam
• $ PS1=’\t:’
-Menampilkan direktory dalam bentuk path
• $ PS1=’\w:’
-Melihat prompt user
• $ cd/usr/sbin
-Melihat prompt sbin
• $ PS1=’\W:’
-Mengubah prompt PS1 bash menggunakan simbol (>) dan (‘)
• $ echo’Hello
• >’
-Mengubah prompt PS2 seperti mengubah prompt PS1
• $ PS2=’Sintak yang ada masukkan belum lengkap:’
-Ketik echo’Hello (tanpa diakhiri penutup quote) dan tekan Enter.
• $ echo ‘Hello
-Menampilkan prompt Bash berwarna
• $ PS1=’\033[0;34m\w\$ \033[0;37m’
-Menampilkan prompt bewarna merah
• $ PS1=’\033[0;31m\w\$ \033[0;37m’
-Menampilkan beberapa warna
• $ PS1=’\033[0;31m\w\033[0;32m\$ \033[0;37m’
-Menampilkan prompt yang lebih terang, atribut control diganti 1,seperti
perintah berikut:
• $ PS1=’\033[1;34m\w\033[1;32m\$ \033[0;37m’
-Menampilkan prompt dengan warna berkebalikan, atribut control diganti
7, seperti perintah berikut:
• $ PS1=’\033[7;34m\w\033[7;32m\$ \033[0;37m’
-Menampilkan prompt berkedip, atribut control diganti5, seperti perintah
berikut:
$ PS1=’\033[5;34m\w\033[5;32m\$\033[0;37m’
5. Menambahkan otomatisasi ke prompt shell
-Ketik $ cd ~
-Buat lah skip skip sederhana untuk mengatur data file
• $ echo ’sort ~/list >~ /r13; mv ~/r13 ~/list’ > ~/sorter
-Buatlah file skrip menjadi file executable
• $ chmod +x sorter
-Jalankan program sorter diatas setiap shell Bash menampilkanprompt
PS1 dengan variabel PROMPT_COMMANDnilai sama dengan sorter
• $ PROMPT_COMMAND=~/sorter
• Tekan $ echo ’John Smith:13001’>>list
• Ketik $ cat list
-Masukkan perintah yang sama dengan nomor lima dengan isi data
berbeda. Kemudianketikcat list dan tekanEnter.
• $ echo ’Anita:13002’>>list
• $ echo ’Samantha:13003’>>list
• $ echo ’Patrik:13004’>>list
• $ echo ’SponseBob:13005’>>list
• $ echo ’Lisa:13006’>>list
• $ echo ’Squid:13007’>>list
• $ cat list
-Pemberhentian program sorter
• $ PROMPT_COMMAND=
6. Membuat bash-script dan menjalankannya
-Membuat file p1.sh
• $ vi p1.sh
• echo “Program bash Script”
-Mengubah program menjadi executable
• $ ls –l p1.sh
• $ chmod +x p1.sh
• $ ls –l p1.sh
-Menjalankan script
• $ bash p1.sh
• $ sh p1.sh
• $ . p1.sh
• $ ./p1.sh
-Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash.
• $ vi p1.sh
• #!/bin/bash
• echo “Program bash script”
-Membuat file p2.sh
• $ vi p2.sh
• #!/bin/bash
• echo “Program 2 bash script”
-Menjalankan beberapa program shell dalam satu baris instruksi
yang dipisahkan dengan tanda ;
• $ cat p1.sh ; cat p2.sh
• $ ./p1.sh ; ./p2.sh
7. Job control
-Proses foreground
• $ ps x
-Proses back ground
• $ ps x > hasil &
-Melihat jobs yang aktif
• $ jobs
-Membuat 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
-Membuat file ploop.sh menjadi executable, untuk keluar tekan Ctrl-c
• $ chmod +x ploop.sh
• $ ./ploop.sh
• Untuk keluar tekan Ctrl-C
8. Manipulasi stack untuk direktori
-Melihat stack direktori
• $ dirs
-Membuat 3 buah direktori
• $ mkdir marketing sales support
-Melihat struktur stack
• $ dirs
9. Alias
-Melihat alias yang sudah terdaftar pada system:
• $ alias
-Membuatbeberapaalias
• $ alias del=’rm–i’
• $ alias h=’history’
-Gunakaninstruksihasilalias
• $ ls
• $ del hasil
• $ h | more
-Menghapus alias gunakan instruksi unalias
• $ unalias del

V. Hasil Pengujian
A. Percobaan 1 : PROFILE
1. More.bash_profile karena bash profile tidak ada hasil bash lain

2. Isi bash logout


B. Percobaan 2:Menggunakan feature history bash
 Masukkan beberapa perintah

 Untuk memeriksa apakah perintah ini ditambahkan pada history


 Untuk memilih dan mengeksekusi perintah dengan nomor

 Mencari perintah dengan menyertakan perintah yang diinginkan misalnya


!?etc?! akan menjalankan perintah ls –l /etc yang sebelumnya digunakan

 Maka akan terlihat perintah ls--/etc yang kedua bukan !!?etc?

 Apabila string tidak ditemukan pada perintah history maka akan terdapat
pesan error

 Jikaa diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila
anda ketikkan !whoa maka yang akan dijalankan adalah perintah whoami
!who
 Anda bisa menggantikan string pada perintah history, terutama pada perintah
yang panjan misalnya

C. Percobaan 3 :Mengubah Feature History Bash


 Tail .bash history untuk melihat beberapa baris pada file .bash_history. File
ini bukan file yang up to date

 History untuk melihat perintah sebelumnya, perintah history bersifat up to


date karena disimpan pada memory sistem
 Echo ‘ini perintah saya’

 Logout dan log in kembali sebagai user yang sama. Kemudian hasil history

 History|less untuk melihat perintah history terahkir pada screen

 Untuk melihat berapa banyak perintah history yang ada pada file
 Untuk melihat jangkauan(limit)perintah history

 Jika ingin memperbesar jangkauan file history, maka ubahlah


variable HISTSIZE pada skrip startup

D. Percobaan 4 : Mengubah Prompt Shell


 Mengubah PSI

 Menampilkan PS2

 Mengubah PS2

 Mengganti warna Prompt


E. Percobaan 5 :Menambahkan otomatisasi ke Prompt shell

F. Percobaan 6 : Membuat Bash-script dan menjalankannya


 Membuat file p1.sh
 Mengubah program menjadi executable
 Menjalankan script
 Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash.
 Membuat file p2.sh
 Menjalankan beberapa program shell dalam satu baris instruksi yang
dipisahkan dengan tanda ;

G. Percobaan 7 : Job ControL


 Proses Foreground

 Proses Background

 Setiap Job mempunyai PID yang tunggal (unique). Untuk melihat jobs yang
aktif

H. Percobaan 8: Manipulasi stack untuk Direktori


I. Perocbaan 9: Alias
 Alias adalah mekanisme untuk memberi nama alias pada satu atau sekelompok
instruksi

 Membuat beberapa alias

 Gunakan instruksi hasil alias

 Untuk menghapus alias gunakan instruksi unalias


VI. Pembahasan
• Ls :untuk melihat home direktory dan file .bash_profile merupakan file hidden

• cat.bash logout: untuk mengeksekusi sebelum logout dan menghapus temporary


file
• cd dan ls –l/etc : untuk melihat semua perintah yang pernah dimasukkan
• historyuntuk melihat apakah perintah ini pernah digunakan sebelumnya
• !<nomor perintah> : untuk memanggil perintah di history yang sesuai
dengn nomor yang dimasukkan
• !?wombat99? terdapat pesan eror karena string tidak ditemukan pada history
• cat /bin/bash | strings | grep shell | less :untuk menggantikan srting pada perintah di
history
• tail .bash_history :untuk melihat beberapa baris pada file.bash_history
• history | less :untuk melihat perintah history terakhir pada layar
• wc -l .bash_history untuk melihat berapa banyak perintah history yang ada
pada file
• set | grep HISTSIZE untuk melihat jangkuan limit perintah history
• echo ‘HISTSIZE 5000’>> .bashrc untuk menambah jangkauan limit dari
perintah history
• PS1=’\t:’  untuk menampilkan waktu system dalam format 24 jam
• PS1=’\w:’ untuk menampilkan “~.”
• cd /usr/sbin n untuk melihat prompt /usr/sbin
• Echo ‘Hello >’ > untuk melihat b penggunaan prompt
• PS2=’Selesai memasukkan perintah Anda:’  untuk Mengubah prompt PS2
• PS1=’\033[0;34m\w\$ \033[0;37m untuk melakukann setting warna pada
prompt BASH
• echo ’sort ~/list > ~/r13; mv ~/r13 ~/list’ > ~/sorter untuk membuat skrip
sederhana untuk mengurut daftar file
• chmod +x sorter  untuk membuat file skrip menjadi file executable
• PROMPT_COMMAND=~/sorter  untuk membuat variabel
PROMPT_COMMAND dimana nilainya adalah nama dari program sorter
• echo ‘Nurlina Aisyah:13001’>>list  untuk membuat isi list
• vi p1.sh Echo “program bash script” untuk Membuat file p1.sh
• ls –l p1.sh, chmod +x p1.sh,dan ls –l p1.sh  untuk mengubah program menjadi
executable
• bash p1.sh, sh p1.sh, . p1.sh,dan ./p1.sh  untuk menjalankan script
• vi p1.sh, #!/bin/bash untuk mengkonversikan pembuatan script shell echo
“Program bash script”
• ps x  untuk proses foreground
• ps x > hasil & untuk proses background
• jobs untuk melihat job yang aktif
• vi ploop.sh, #!/bin/bash, While [true], Do Sleep 10 Echo “Hello”done untuk
membuat file ploop.sh
• dirs  untuk intruksi dirs.
• mkdir marketing sales support  untuk membuat 3 buah direktori
• alias  untuk melihat alias yang sudah terdaftar pada sistem
• alias del=’rm –i’, dan alias h=’history’  untuk membuat beberapa alias
• del hasil, ls, dan h | more  untuk melihat hasil alias
• unalias del  untuk menghapus alias
Latihan
1. Eksekusi seluruh profile yang ada :
a. Edit file profile /etc/profile dan tampilkan pesan echo ‘profile dari /etc/profile’

Untuk masuk ke bagian prompt script /etc/profile kita dapat mengetikkan


perintah $ sudo vi /etc/profile kemudian masukkan password. Setelah itu kita sudah
berada di halaman prompt script dari /et/profile tekan i agar dapat mengetikkan
perintah echo "Profile dari /etc/profile". Jika sudah tekan tombol esc + shift + ; dan
ketikkan wq agar dapat keluar dari bagian command mode script tersebut. Kemudian
ketika mengesekusi bash /etc/profile maka akan ditampilkan kalimat yang dibuat
dengan menggunakan perintah $ echo.
b.Asumsi nama anda student, maka edit semua profile yang ada
Sama seperti sebelumnya pembuatan file menggunakan perintah $ sudo dan vi
digunakan untuk editornya. Kemudian untuk student digantikan sesuai dengan nama
user.
c. Ganti nama/home/student dengan nama sendiri. Pada setiap file tersebut,
cantumkan instruksi echo sesuai dengan nama filenya
Ketika sudah masuk ke bagian prompt script masing masing file maka edit dan
menuliskan kalimat tersebut dengan perintah $ echo. Jika sudah dilakukan maka
keluar dari halaman prompt script tersebut.
d.Lakukan hal yang sama untuk file lainnya, sesuaikan tampilan dengan nama file yang
bersangkutan
Ketika manjalankan atau eksekusi bash pada setiap file tersebut maka akan
ditampilkan output kalimat yang telah dibuat menggunakan perintah $ echo dari
masing - masing file tersebut. Ketika menjalankan perintah bash ./profile kalimat
yang berada di file .bashrc juga ikut ditampilkan karena pada file ./profile tersebut
terdapat script include .bashrc.
2. Jalankan instruksi subtitu user, kemudian keluar dengan perintah exit
Perintah su atau switch user digunakan untuk menjalankan perintah dengan sistem
meminta password admin. Ketika menjalankan perintah $ su - student selain memintas
password admin namun juga menampilkan 2 buah file yang menggunakan perintah $
echo. Untuk mengakhirinya dapat menggunakan perintah $ exit. Perbedaan dari perintah
$ su dan $ su - adalah jumlah file yang dibuka dan akhiran yang menggunakan logout.

3. Log Out
a. Edit file .bash_logout, tampilkan pesan dan tahan selamat 5 detik, sebelum
eksekusi logout dengan menuliskan script:
Echo” Terimakasih atas sesi yang diberikan”
Sleep 5
Clear

Untuk masuk kehalaman command mode prompt script file tersebut sama seperti
sebelumnya menggunakan sudo vi dan menjalankan perintah vi editor
Kemudian kita eksekusi file .bash_logput tersebut maka akan ditampilkan kalimat
yang dibuat dengan perintah $echo dan terjadi sleep selama 5 detik, lalu perintah
$clear akan dijalankan yang membuat layar bersih kembali.
b.Edit file .bash_logout tampilkan pesan dan tahan selama 4 detik sebelum eksekusi
logout

Tampilan pada command mode prompt ketika menjalankan perintah editor vi dan
kita menuliskan program yang ada

Sebelum menjalankan file .bash_logout maka kita perlu membuat file tersebut
menjadi executable dengan manjalankan perintah $ chmod +x .bash_logout.
Kemudian setelah menjalankan perintah $ bash ./.bash_logout maka akan
ditampilkan kalimat yang dibuat menggunakan perintah $ echo dan setelah
melakukan sleep selamat 4 detik maka akan dilakukan log out dan clear tampilan
layar.

4. History
a. Ganti nilai HISTSIZE dari 1000 menjadi 20 menggunakan perintah

Pada percobaan ini menggunakan perintah $ HISTSIZE menjadi 20 yang berarti


jangkauan limit dari perintah history menjadi 20. Untuk memastikan apakan ukuran
histsize kita sudah 20 dapat kembali dipastikan dengan menjalankan perintah $ set
|grep HISTSIZE.
b.Gunakan fasilitas history dengan mengedit instruksi ke 5 dari instruksi
Perintah $ !-5 digunakan untuk menampilkan atau mengeksekusi kembali history
pada 5 perintah terakhir yang ada pada di history.
c. Ulangi instruksi yang terakhir. Gunakan juga ^P dan^N untuk bernavigasi pada
history buffer

Fungsi dari perintah $ ! ! adalah untuk mengulangi perintah yang terakhir


dilakukan.
d.Ulangi instruksi pada history buffer nomor tertentu, misalnya nomor 150

Perintah $ !150 berfungsi untuk memanggil perintah dari history dengan nomor
PID 150. Namun pada percobaan tersebut terjadi not found karena PID tersebut tidak
tersedia.
e. Ulangi instruksi dengan prefi “ls”

5. Prompt String (PS)


a. Edit file .bash_profile, ganti prompt PS1 dengan ‘>’ instruksi export diperlukan
dengan parameter nama variable tersebut, agar perubahan variable PS1 dikenal oleh
semua shell
• PS='>'
• export PS1
• Eksperimen hasil PS1 :
• $ PS1="\! > "
• 69 > PS1="\d > "
• Mon Sep 23 > PS1="\t > "
• 10:10:20 > PS1="Saya=\u > "
• Saya=stD02001 > PS1="\w >"
• ~ > PS1=\h >"
Menggunakan editor vi untuk mengedit file.bash_login

Menggati prompt PS1 dengan '>' dan menggunakan instruksi export yang
menggunakan parameter dengan nama variable tersebut. Tampilan prompr PS1
dengan perintah (\!), time(\t) untuk menunjukkan format waktu dalam HH:MM:SS,
who(\u) untuk memberitahukan nama user, dan (\w) untuk working direktori.
b.Ubahlah warna shell prompt dengan warna biru dan berkedip

Untuk mengganti warna prompt menajdi biru dapat menggunakan kode 34 m dan
atribut angka 5 untuk membuat prompt menjadi berkedip.
6. Bash Script
a. Buat 3 buah script p1. sh, p2. sh, p3.sh dengan isi masing-masing:
• p1.sh
• #! /bin/bash
• echo "Program p1"
• ls -l
• p2.sh
• #! /bin/bash
• echo "Program p2"
• who
• p3.sh
• #! /bin/bash
• echo "Program p3"
• ps x

Tampilan diatas merupakan membuat program file yang menggunakan vi


editor. Kemudian setiap file tersebut diinputkan script masing - masing.
b.Jalankan script tersebut sebagai berikut dan perhatikan hasilnya:
$ ./p1.sh;./p3.sh;./p2.sh

Pada percobaan ini terlihat output yang ditampilkan merupaka hasil file p1.sh dan
p2.sh yang sudah dieksekusikan. Pada file p1 terlihat output untuk perintah $ ls dan
kalimat yang diinput menggunakan $ echo, di file p2 juga terlihat output untuk
perintah $ who dan kalimat yang diinput menggunakan perintah $ echo.
$ ./p1.sh &

Perintah ./p1.sh & digunakan untuk menampilkan file script dari p1.sh dengan adanya
proses background.

$ ./p1.sh $ ./p2.sh & ./p3.sh &

Perintah tersebut digunakan untuk menampilkan ketiga script dari ketiga file
tersebut secara bersamaan dengan adanya proses background.
$ ( ./p1.sh ; ./p3.sh ) &

Perintah tersebut akan menampilkan kedua file script dari file p1.sh dan p3.sh
dengan adanya proses background.

7. Jobs
a. Buat shell-script yang melakukan loop dengan nma pwaktu, sh setiap 10 detik,
kemudian menyimpan tanggal dan jam pada hasil
• #!/bin/bash
• while [true]
• do
• date >> hasil
• sleep 10
• done
b.Jalankan sebagai background kemudian jalankan satu program di background

Perintah jobs akan menampilkan program dari file pwaktu.sh yang diberhentikan.
Kemudian menampabhakan satu program utilitas dengan mengguakan perintah $
find di background.
c. Jadikan program ke 1 sebagai foreground, tekan ^Z dan kembalikan program tersebut
ke background
Jobs nomor perintah 1 yaitu .pwaktu/sh akan dijalankan sebagai program foreground
kemudian untuk menghentikannya dapat menggunakan ctrl+z. Setelah itu program
./pwaktu.sh ini akan dijalankan di background dengan perintah bg.

d.Stop program background dengan utiltas kill

Kesimpulan
Bash shell merupakan aplikasi yang menggabungkan fitur fitur yang ada di Korn Shell
dan C shell dengan peningkatan fitur fitur yang cocok untuk programming ataupun
penggunaan oleh use secara interaktif.
Bash shell menjalankan hampir semua file.sh (script) tanpa modifikasi terlebih dahulu.
Syntax dari bash shell sederhana dan tidak bertele tele.
Hanya ada sedikit ‘rule’ yang perlu dipelajari untuk menulis program di bash shell.
Pemograman menggunakan shell merupakan salah satu metode untuk prototipe
aplikasi yang lebih kompleks lagi.
Pemograman menggunakan bash shell merupakan pendekatan yang paling mudah
dalam hal problem solving. Manfaat yang paling peling penting untuk system
administrator karena perintah perintah bisa dijalankan secara otomatis.

Anda mungkin juga menyukai