Praktikum 5 - Bekerja dengan Bash Shell


  PRAKTIKUM 5

BEKERJA DENGAN BASH SHELL




SISTEM OPERASI

DOSEN PENGAMPU: MOHAMMAD FATHURAHMAN, S.T., M.T.

 

DISUSUN OLEH:

ALVIANA SIRAJUDIN – 2103421024

BM 5A

 

PROGRAM STUDI BROADBAND MULTIMEDIA

JURUSAN TEKNIK ELEKTRO

POLITEKNIK NEGERI JAKARTA

                                                                               2023  


POKOK BAHASAN:

  • History pada Bash Shell
  • Membuat Bash Shell Script

TUJUAN BELAJAR:

  • Memahami shell pada sistem operasi Linux.
  • Menggunakan feature history  pada Bash Shell.
  • Mengubah prompt shell.
  • Melakukan konfigurasi Bash Shell untuk menjalankan skrip secara otomatis.
  • Membuat dan mengeksekusi shell script sederhana melalui editor vi.
  • Memahami job control.  
  • Memahami stack.
  • Menggunakan alias.Mengubah feature history pada Bash Shell.

DASAR TEORI:

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/shBourne shell, dirancang oleh Steve Bourne dari AT&T 
  • /bin/csh: Dikembangkan oleh UNIX Berkeley yang dikenal dengan C-Shel
  • /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 : 
        a. /etc/profile 
            Berisi shell script yang berlaku untuk seluruh pengguna Linux. 
        b. 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 . 
        c. .bashrc 
            File ini akan dieksekusi untuk perpindahan dari satu shell ke shell yang lain melalui instruksi 
            su. 
        d. .bash_logout 
             Pada saat logout, maka bash akan mencari file .bash_logout. 
             Bila ada, file tersebut akan dieksekusi sebelum logout
    

Isi dari /etc/profile:

# System wide environment and startup programs

# Functions and aliases go in /etc/bashrc

PATH=”$PATH:/usr/X11R6/bin” PS1=”[\u@\h \W]\\$ “ umask 022 

USER=’id –un’

LOGNAME=$USER

MAIL=”/var/spool/mail/$USER”

HOSTNAME=’/bin/hostname’

HISTSIZE=1000

HISTFILESIZE=1000

Export PATH PS1 HOSTNAME HISTSIZE HISTFILESIZE USER LOGNAME MAIL


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 direktory


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 : 

Kunci

Keterangan

H

Pindah kursor ke kiri satu karakter

J

Pindah kursor ke kanan satu karakter

K

Pindah kursor ke atas

L

Pindah kursor ke bawah

 

 

O

Menyisipkan teks (satu baris setelah posisi kursor)

 

 

Untuk keluar dari 5 model kunci insert  di samping ini dan mengaktifkan kuncikunci lain, maka kita harus menekan tombol Esc terlebih dahulu.

I

Menyisipkan teks (di sebelah kiri posisi kursor)

A

Menyisipkan teks (di sebelah kanan posisi kursor)

(shift i)

Menyisipkan teks (di posisi awal baris)


A

(shift a)

Menyisipkan teks (di posisi akhir baris)

 

 

 

X

Menghapus 1 huruf (di sebelah kanan posisi kursor)

Dw

Manghapus 1 kata (di sebelah kanan posisi kursor)

Dd

 

Menghapus 1 baris (di sebelah kanan posisi kursor)

 

Yy

Mengkopi 1 baris

2yy

Mengkopi 2 baris

P

(Paste) Menampilkan baris kalimat yang sudah dikopi dengan kunci yy

 

 

Cw

Mengganti 1 kata yang telah ditulis di sebelah kanan posisi kursor dengan kata lain

Cc

Mengganti 1 baris kalimat yang telah ditulis di sebelah kanan posisi kursor dengan kalimat lain

ctrl-b

Mundur satu layar

ctrl-f

Maju satu layar

ctrl-d

Maju setengah layar

B

Menggerakkan kursor ke kiri satu kata

W

Manggerakkan kursor ke kanan satu kata

^

Pergi ke awal baris

$

Pergi ke akhir baris

 

U

 

Membatalkan perintah yang terakhir kali

U

Membatalkan seluruh perubahan teks pada baris tempat kursor berada

 

 

:!

Keluar untuk sementara dari editor vi dan menjalankan perintah yang lain

:wq 

Write dan quite, simpan berkas dan keluar

:q!

Keluar vi tanpa menyimpan

:se all

Menampilkan semua pilihan set status

:se nu

Menampilkan nomor baris pada kiri layar

 

 

/string

Mencari string ke arah depan

?string

Mencari string ke arah belakang

N

Meneruskan pencarian untuk arah yang sama

N

Meneruskan pencarian untuk arah yang berbeda 


TUGAS PENDAHULUAN

1. Apa yang dimaksud dengan shell dan sebuatkan shell yang ada di system operasi Linux.

Jawab:

Shell adalah antarmuka baris perintah yang digunakan untuk berinteraksi dengan sistem operasi. Di 

sistem operasi Linux, ada beberapa shell yang tersedia, di antaranya:


1. Bash (Bourne-Again Shell): Shell default pada banyak distribusi Linux. Dikenal karena kemampuannya yang kuat dan banyak fitur.

2.  Zsh (Z Shell): Shell yang menghadirkan fitur-fitur tambahan seperti tab completion yang lebih canggih dan konfigurasi yang lebih fleksibel.

3.  Fish: Shell yang dirancang untuk menjadi lebih ramah pengguna dengan autocompletion yang kuat dan tampilan yang atraktif.

4.  Ksh (Korn Shell): Shell yang cukup tua, tetapi masih digunakan oleh beberapa sistem Unix. Memiliki fitur seperti scripting yang kuat.

5.   Dash: Shell yang dirancang untuk menjalankan script dengan cepat dan ringan.



2. Apa yang dimaksud dengan profile pada Bash Shell.

Jawab:     

Dalam Bash Shell, "profile" mengacu pada file konfigurasi yang digunakan untuk  mengatur   

lingkungan shell pengguna. 

Terdapat dua jenis profile utama:

1. `/etc/profile`: Ini adalah file konfigurasi yang berlaku secara global untuk semua pengguna di sistem. Biasanya digunakan untuk mengatur variabel lingkungan global.

2. `~/.bash_profile`, `~/.bash_login`, `~/.profile`: Ini adalah file konfigurasi yang berlaku untuk pengguna individu. Bash akan mencari dan menjalankan salah satu dari file-file ini sesuai dengan urutan tertentu. File ini digunakan untuk mengatur variabel lingkungan khusus untuk pengguna tertentu.


3. Apa yang Anda ketahui mengenai file .bashrc.

Jawab: 

    File `.bashrc` adalah file konfigurasi shell pada Bash (Bourne-Again Shell) yang digunakan untuk mengatur variabel lingkungan, alias, dan perintah yang akan dieksekusi setiap kali pengguna membuka sesi shell atau subshell. File ini terutama digunakan untuk mengatur preferensi dan konfigurasi spesifik pengguna, seperti penyesuaian prompt shell, alias perintah, atau variabel lingkungan pribadi. File `.bashrc` biasanya terletak di direktori home pengguna (biasanya `/home/nama_pengguna/.bashrc`) dan membantu dalam menyesuaikan pengalaman shell sesuai dengan kebutuhan individu.


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!

Jawab:

   History pada Bash Shell adalah catatan dari perintah-perintah yang telah dieksekusi oleh pengguna selama sesi shell. Ini berguna untuk melacak perintah sebelumnya, mengulangi perintah, atau menganalisis riwayat penggunaan shell.


Kegunaan perintah `history` adalah:

1.  Melihat Riwayat: Dengan perintah `history`, Anda dapat melihat daftar perintah sebelumnya yang dieksekusi dalam sesi shell saat ini.

2.  Mengulang Perintah: Anda dapat mengeksekusi kembali perintah tertentu dari riwayat dengan menggunakan `!` diikuti oleh nomor perintah. Contoh: `!42` akan menjalankan perintah dengan nomor 42 dari riwayat.

3.  Menggunakan Tanda Panah: Saat mengetikkan perintah, Anda dapat menggunakan panah atas dan bawah untuk menggulung melalui riwayat perintah sebelumnya.


Cara-cara untuk mengetahui riwayat perintah yang pernah digunakan oleh pengguna:

1. Dengan menggunakan perintah `history`, Anda dapat melihat daftar perintah sebelumnya.

2. Untuk mencari perintah tertentu dalam riwayat, Anda dapat menggunakan perintah `history | grep kata_kunci` untuk mencari kata kunci dalam riwayat.

3. Anda juga dapat menavigasi riwayat perintah dengan menggunakan panah atas dan bawah saat Anda berada di shell.


5.     Cobalah menggunakan editor vi untuk mengetik dan pahami perintah-perintah yang ada seperti yang terdapat pada dasar teori  (untuk dilakukan, tidak perlu dijawab sebagai tugas pendahuluan).  Perintah-perintah yang penting : insert huruf(kalimat), delete (per huruf, per kata dan per baris), simpan file dan keluar dari editori vi.

Jawab:



PERCOBAAN

Percobaan 1 : Profile

1.  File .bash_profile dijalankan pada home direktori pemakai yang login.  File .bash_profile adalah hidden file, sehingga untuk melihatnya gunakan opsi a pada instruksi ls.

  • $ ls –a

  • $ more .bash_profile

  • Analisa: bash_profile merupakan file yang tersembunyi pada home direktori pemakai yang sedang login. Pada percobaan ini dilakukan dengan menjalankan perintah $ls a terlebih dahulu kemudian saya menggunakan opsi pilihan menjalankan perintah $ more .profile untuk menampilkan bash profile tersebut karena pada saat menjalakan perintah $ more .bash_profile output yang dihasilkan adalah no such file or firektori.


2. File .bash_logout akan diekseksi sesaat sebelum logout, berfungsi sebagai  house clearing jobs, artinya membersihkan semuanya, misalnya menghapus  temporary file atau job lainnya.  Melihat file .bash_logout dengan instruksi. .

  • $ cat .bash_logout 


  • Analisa: Menjalankan file .bash_logout dapat digunakan perintah $ cat .bash_logout, yang di mana file tersebut akan dieksekusi sebelum logout dan berfundgi sebagai house clearing job artinya membersihkan semuanya contohnya seperti menghapus temporary file atau job lainnya




Percobaan 2 : Menggunakan Feature History Bash

1. Bash shell menyimpan ”history” perintah yang digunakan sebelumnya.  Anda dapat mengaksis history dalam beberapa cara.  Cara paling mudah adalah menggunakan Panah Atas.  Maka perintah sebelumnya akan ditampilkan.


2. Berikutnya, berikan Bash shell beberapa perintah untuk diingat.  Masukkan perintah berikut dan tekan Enter pada setiap baris.

  • cd: Perintah $ cd berfungsi untuk memastikan sedang berada pada direktori home. Perintah $ ls-l /etc berfungsi untuk menampilkan output file atau direktori secara lengkap yaitu terdiri dari nama file, ukuran, tanggal dimodifikasi, pemilik, group dan mode atau atributnya.
  • $ ls –l /etc
  • $ ls –l
  • $ whoami
  • $ who 


3.  Untuk memeriksa apakah perintah ini ditambahkan pada history, dapat menggunakan perintah history untuk melihat semua perintah yang pernah dimasukkan.


  • Analisa: Perintah $ history dapat menampilkan semua perintah yang pernah dijalankan dan termasuk juga perintah $ history tersebut ditambahkan pada list dari history yang ada.

4.   Anda dapat memilih perintah sebelumnya dengan menggunakan Panah Atas, tetapi hal ini tidak efisien untuk perintah yang semakin bertambah banyak. Cara yang mudah menggunkaan nomor pada perintah history atau mencarinya. Untuk memilih dan mengeksekusi perintah dengan nomor, masukkan kunci ! diikuti nomor perintah. 

  •     $ ! <Nomor Perintah> Contoh : !7160
  •  Analisa: Dengan menggunakan Perintah $ !<nomor perintah> berfungsi untuk memudahkan mencari perintah history, pada percobaan tersebut saya mencoba !160 yang berarti akan mengeksekusi perintah find > directories.txt 2> errors.txt
5.   Anda dapat mencari perintah dengan menyertakan perintah yang diinginkan. Misalnya !?etc?! akan menjalankan perintah ls –l /etc yang sebelumnya digunakan. 

  •     $ !?etc? 
  • Analisa: Menggunakan perintah $ !?etc? maka akan menjalankan perintah ls -l / etc yang sebelumnya pernah digunakan.

6.   Kemudian gunakan perintah history, maka akan terlihat perintah ls –l /etc yang kedua dan bukan !?etc? 

  •     $ history 
  • Analisa: Perintah history tersebut akan menampilkan perintah $ ls - l / etc dan tidak menampilkan perintah $ !?etc? yang sudah dijalankan sebelumnya.

7.  Apabila string tidka ditemukan pada perintha history maka akan terdapat pesan error. 

  •      $ !?wombat99? 
  • Analisa:  Pada percobaan ini ketika menjalankan perintah !who maka akan dihasilkan output dari perintah ! who tersebut namun ketika menjalankan perintah !who maka akan dihasilkan output dari perintah whoami.

8.  Jika diketikkan !who maka yang dijalankan adalah perintah who. Tetapi bila Anda ketikkan !whoa maka yang dijalankan adalah perintah whoami. 

  •      $ !who $ !whoa 
  • Analisa: Ketika menjalankan perintah $ cat /bin/bash | strings grep shell | less maka akan menampilkan output semua string yang berada pada file /bin/bash yang berisikan kata "shell"

9.   Anda bisa menggantikant string pada perintah history, terutama pada perintah yang panjang. Misalnya ketik cat /bin/bash | strings | grep shell | less dan tekan Enter. Maka akan menampilkan semua string pada file /bin/bash yang berisi kata ”shell”. Untuk keluar tekan q. Jika ingin menampilkan kata ”alias”, maka Anda tidak perlu mengetik perintah yang panjang lagi, tetapi cukup ketik ^shell^alias^ dan tekan Enter maka akan menggantikan kata ”shell” dengan ”alias”. 

  •      $ cat /bin/bash | strings | grep shell | less 
  •      $ ^shell^alias^ 
  • Analisa: Ketika menjalankan perintah $ cat /bin/bash | strings grep shell | less maka akan menampilkan output semua string yang berada pada file /bin/bash yang berisikan kata "shell". Kemudian dengan menjalankan perintah $ ^shell^alias^ berfungsi untuk menampilkan kata "alias" untuk menggatikan kata "shell" yang dimana tidak perlu mengetikan perintah yang panjang seperti sebelumnya.

Percobaan 3 : Menggubah Feature History Bash

1. Bash shell akan menyimpan perintah history meskipun telah log out dan log in kembali. File .bash_history menyimpan file history yang terdapat pada home directory. 
  • $ cd 
  • Analisa: Perintah $cd merupakan perintah untuk memastikan bahwa kita berada di direktori home.

2. Lihat beberapa baris pada file .bash_history dengan ketik tail .bash_history dan tekan Enter. File ini bukan file yang up to date. 
  • $ tail .bash_history 
  • Analisa:   Tampilan diatas merupakan tampilan dari beberapa baris pada file .bash_history dan file .bash_history merupakan tipe file yang bukan up to date.

3. Ketik history dan tekan Enter. Maka akan terlihat baris terakhir adalah perintah history dan baris sebelumnya adalah tail .bash_history. Perintah history bersifat up to date, karena disimpan pada memory sistem. 
  •  $ history 
  • Analisa: Perbedaan dengan tail .bash_history dan perintah $ history adalah history merupakan perintah yang bersifat up to date sehingga akan ada terus pembaruan dari perintah yang dijalankan dan disimpan pada memory sistem.

4. Ketik perintah berikut 
  • $ echo ‘Ini perintah saya’ 
  • Analisa: Dengan bantuan perintah $ echo maka akan megashilkan output kalimat tersebut.

5. Log out dan log in kembali sebagai user yang sama. Ketik history dan tekan Enter. Maka perintah echo ’Ini perintah saya’ akan berada pada baris terakhir. Lihat file .bash_history, maka perintah tsb akan terdapat pada file .bash_history. 
  • $ history 
  • $ tail .bash_history 
  • Analisa:  Pada tampilan pertama output yang dihasilkan yaitu echo "ini perintah saya" pada baris pertama pada perintah $ history dan tampilan kedua untuk menampilkan output yang berhubungan dengan bash.

6. Ketik history|less untuk melihat perintah history terakhir pada screen. Tekan spacebar untuk melihat file lebih banyak. Untuk keluar tekan q 
  • $ history|less
  • Analisa: Dengan menggunakan perintah history|less tersebut output yang ditampilkan yaitu history terakhir yang ada pada screen untuk melihat history yang lebih banyak dapat menekan spacebar dan tekan q untuk keluar dari history tersebut.

7. Untuk melihat berapa banyak perintah history yang ada pada file ketik berikut dan output yang keluar serupa di bawah ini 
  • $ wc –l .bash_history 1000 .bash_history 
  • Analisa:  Ketika menjalankan perintah $ wc -l -bash_history terlihat bahwa terdapat 743 history yang ada pada file -bash_history tersebut.

8. Output menunjukan bahwa 1000 perintah history disimpan pada file history. Untuk melihat jangkauan (limit) perintah history digunakan variabel HISTSIZE. untuk melihat jangkauan history ketik sebagai berikut: 
  • $ set|grep HISTSIZE 
  • Analisa: HINTSIZE menunjukkan untuk jangkauan limit perintah history yang dapat disimpan pada file history dan gambar diatas menunjukkan bahwa limit perintah history yang dapat disimpan pada file history tersebut sebanyak 1000.
9. Bila ingin memperbesar jangkauan file history, maka ubahlah variable HISTSIZE pada skrip startup yang disebut .bashrc pada home directory
  • $ echo ‘HISTSIZE=5000’ >> .bashrc 
  • Analisa: Mengubah variable HINTSIZE  pada skrip startup yang disebut .bashrc pada direktori home kemudian perintah $ set|grep HINTSIZE digunakan untuk melihat jangkauan atau limit perintah history yang terbaru yaitu sebesar 5000 .
10. Log out dan log in kembali sebagai user yang sama. Lihat perubahan variabel HISTSIZE. 
  • $ set|grep HISTSIZE

  • Analisa:  HISTSIZE berubah menjadi 5000
1

11. Ketikkan perintah history beberapa kali, maka perintah ini akan disimpan pada BASH history meskipun yang diketikkan perintahnya sama


12. Anda dapat melakukan konfigurasi BASH agar tidak menambah perintah ke history jika perintah yang diketikkan sama dengan sebelumnya. Hal ini dilakukan dengan menambahkan variabel HISTCONTROL dan diberikan nilai ignoredups pada file .bashrc 
  • $ echo ‘HISTCONTROL=ignoredups’ >> .bashrc

13. Log out dan log in kembali sebagai user yang sama. Ketikkan history beberapa kali dan perhatikan berapa kali history muncul.

Percobaan 4: Mengubah Prompt Shell

1. Prompt Bash shell dikonfigurasi dengan men-setting nilai variabel PS1. Selain menampilkan string statik sebagai prompt, Anda dapat menampilkan menjadi dinamis. Contohnya, apabila ingin menunjukkan current directory atau current time. Ketik PS1=’\t:’ dan tekan Enter untuk menampilkan waktu sistem da lam format 24 jam sebagai prompt Bash. Format dalam HH:MM:SS 
  • $ PS1=’\t:’
  • Analisa: Tampilan diatas merupakan hasil dari prompt bash dengan sistem format waktu 24 jam yaitu dalam format HH : MM : SS menunjukkan waktu jam 16 sore dengan 06 menit 53 detik.
2. Untuk menampilkan format 12 jam dengan indikator am dan pm ketik sebagai berikut : 
  • $ PS1=’\t;’
  • Analisa: Dengam menambahkan PS1='\t;' maka akan ditampilkan formar 12 jam

3. Kebanyakan orang menginginkan prompt Bash menampilkan current working directory. Direktory dapat ditampilkan dalam bentuk keseluruhan path atau hanya nama direktory. Karakter \w menampilkan hanya nama direktory. Jika current directory adalah home directory, maka tampil prompt ~: 
  • $ PS1=’\w:
  • Analisa:  Perintah $ PS1='\w:' untuk menampilkan current working direktori. Fungsi dari \w hanya untuk menampilkan nama direktori. Setelah memasukkan perintah tersebut ketika dienter maka akan ditampilkan prompt ~: yang menandakan bahwa sudah berada di home direktori.

4. Ketik cd /usr/sbin untuk melihat prompt /usr/sbin: 
  • $ cd /usr/sbin 
  • Analisa: Tampilan diatas merupakan perintah untuk mengubah prompt shell. Perintah cd /usr/sbin berfungsi untuk membuka direktori sbin.

5. Ketik PS1=’\W:’ untuk melihat prompt sbin: 
  • $ PS1=’\W:’
  • Analisa: kemudian ketikan di enter dilanjutkan dengan mengetik PS1='\W:' untuk melihat prompt sbin:.

6. Ada beberapa prompt BASH lain yang dapat diubah, yaitu PS2, PS3 dan PS4. Prompt PS2 digunakan sebagai prompt sekunder. Untuk melihat bagaimana penggunaannya, ketik echo ’Hello (tanpa diakhiri penutup quote) dan tekan Enter. Simbol lebih besar dari (>) akan muncul. Hal ini memberitahukan bahwa BASH menunggu Anda menyelesaikan perintah. Ketik penutup quote (‘) dan tekan Enter. Perintah ini akan menyelesaikan prompt PS2, kata ”Hello, ” muncul diikuti dengan prompt PS1 pada baris baru. 
  • $ echo ’Hello >’ 
  • Analisa: Pada perintah sbin: kita masukkan perintah echo 'Hello >' yang dimana simbol lebih besar dari (>) hal ini memberitahukan bahwa BASH akan menunggu menyelesaikan perintah. Ketik penutup quote (') untuk menyelesaikan perintah di prompt maka kata "Hello: akan diikuti dengan prompt PS1 pada baris baru.

7. Anda dapat mengubah prompt PS2 seperti mengubah prompt PS1. Ketik perintah berikut : 
  • $ PS2=’Selesai memasukkan perintah Anda:’ 
  • Analisa:  Pada direktori sbin untuk mengubah prompt PS2 dengan cara sbin:PS2='Selesai memasukkan perintah anda:'.

8. Kemudian ketik echo ’Hello (tanpa diakhiri penutup quote) dan tekan Enter. Pada baris berikutnya akan muncul Selesai memasukkan perintah Anda:. Kemudian ketikkan penutup quote (’) dan tekan Enter. Jika perintah selesai, maka kata Hello akan muncul diikuti prompt PS1 pada baris baru. 
  • $ echo ’Hello Selesai memasukkan perintah Anda:’ 



9. Prompt BASH dapat ditampilkan berwar na dengan melakukan setting colorsetting string . Sebagai contoh, prompt BASH di-set dengan \w\$, akan menampilkan current working directory yang diikuti $ (atau # jika anda login sebagai root). Untuk setting warna menjadi biru ketikkan berikut : 
  • $ PS1=’\033[0;34m\w\$ \033[0;37m’ 


  • Analisa:  Dengan menggunakan perintah tersebut maka akan mengubah prompt menjadi warna biru. Kode 34 merupakan untuk mengubah warna prompt menjadi biru.

10. Untuk mendapatkan prompt warna merah ketikkan berikut : 
  • $ PS1=’\033[0;31m\w\$ \033[0;37m’ 
  • 30=hitam, 31=merah, 32=hijau, 34=biru, 35=ungu, 36=cyan, 37=putih. 
  • Analisa: Dengan mengubah kode menjadi 31 maka tampilan prompt tersebut akan menjadi berwarna merah.

11. Bila menginginkan beberapa warna, ketikkan perintah berikut : 
  • $ PS1=’\033[0;31m\w\033[0;32m\$ \033[0;37m’ 


12. Anda bisa menampilkan atribut visual seperti lebih terang, berkedip dan warna kebalikannya. Untuk menampilkan prompt yang lebih terang, atribut control diganti 1, seperti perintah berikut : 
  • $ PS1=’\033[1;34m\w\033[1;32m\$ \033[0;37m’ 
  • Analisa: Terlihat bahwa tampilan prompt menjadi lebih terang dan terdapat juga perpaduan warna

13. Untuk menampilkan prompt dengan warna berkebalikan, atribut control diganti 7, seperti perintah berikut : 
  • $ PS1=’\033[7;34m\w\033[7;32m\$ \033[0;37m’ 
  • Analisa:  Dengan menjalankan tersebut terlihat tampilan prompt terdii dari berbagai warna dan warna tersebut juga terdapat dibagian background dari prompt tersebut yang dimana atribut control diganti menjadi angka 7.

14. Untuk menampilkan prompt berkedip, atribut control diganti 5, seperti perintah berikut : 
  • $ PS1=’\033[5;34m\w\033[5;32m\$ \033[0;37m’ 
  • Analisa:   Tampilan pada prompt akan berkedip-kedip dengan menggantikan atribut control menjadi angka 5.


Percobaan 5: Menambahkan Otomatisasi ke Prompt Shell

1. Pastikan Anda berada di home directory 
  • $ cd ~ 

  • Analisa: Pastikan berada pada direktori home dan membuat skrip sederhana untuk mengurut daftar file

2. Buatlah skrip sederhana untuk mengurut daftar file. Anda dapat menggunakan teks editor, tetapi karena hanya satu baris, gunakan perintah echo untuk membuat file. 
  • $ echo ’sort ~/list > ~/r13; mv ~/r13 ~/list’ > ~/sorter 
  • Analisa: Perintah echo digunakan untuk membuat file yang dikarenakan hanya satu baris dan perintah $ echo 'sort ~/list > ~/r13; mv ~/r13 ~/liat' > -/sorter berfungsi untuk membuat deretan file yang terurut.

3. Buatlah file skrip diatas menjadi file executable 
  • $ chmod +x sorter 
  • Analisa: $ chmod +x sorter merupakan perintah untuk membuat file skript diatas menjadi excutable

4. Jalankan program sorter diatas setiap shell Bash menampilkan prompt PS1. Untuk melakukannya, buatlah variable PROMPT_COMMAND dimana nilainya adalah nama dari program sorter. 
  • $ PROMPT_COMMAND=~/sorter 
  • Analisa: Perintah $ PROMPT_COMMAND=~/sorter merupakan perintah untuk menjalankan program sorter pada setiap shell Bash prompt PS1.

5. Ketikkan echo ’John Smith:13001’>>list dan tekan Enter. Jika file list tidak ada, akan dibuat secara otomatis, tetapi jika sudah ada, string ’John Smith:13001’ akah ditambahkan. 
  • $ echo ’John Smith:13001’>>list 
  • Analisa: Perintah echo "John Smith:13001' >> List digunakan untuk membuat file list secara otomatis

6. Ketik cat list dan tekan Enter. Maka Anda akan melihat isi file list. Pada saat ini, file mungkin mempunyai hanya satu baris sehingga tidak dapat dilihat apakah file sudah terurut. 
  • $ cat list 
  • Analisa: Kemudian untuk melihat isi dari file list tersebut dapat menggunakan perintah $ cat list yang disini output dari file list yang dihtampilkan adalah John Smith:13001

7. Masukkan bebe rapa perintah serupa dengan point 5 tetapi dengan nama dan nomor yang berbeda. Kemudian ketik cat list dan tekan Enter. 
  • $ echo ’Anita:13002’>>list 
  • $ echo ’Samantha:13003’>>list 
  • $ echo ’Patrik:13004’>>list 
  • $ echo ’Sponse Bob:13005’>>list 
  • $ echo ’Lisa:13006’>>list 
  • $ echo ’Squid:13007’>>list


  • Analisa: Membuat beberapa file list menggunakan perintah echo dan list.   Kemudian ketika memasukkan perintah $ cat list maka ouput yang ditampilkan berupa isi file dari list yang sudah sesuai urutan abjad.

8. Apabila Anda tidak menginginkan Shell Bash menampilkan file terurut sepanjang waktu, Anda tidak perlu menambahkan variable PROMPT_COMMAND=~/sorter pada file konfigurasi seperti .bashrc. Bila Anda ingin BASH berhenti menjalankan program sorter, maka ketikkan variable PROMPT_COMMAND= dan tekan Enter atau log out dan login kembali. 
  • $ PROMPT_COMMAND=

  • Analisa: Untuk membuat berhenti menjalankan proram sorter dapat menjalankan perintah $ PROMPT_COMMAND= yang kemudian dilakukan log out dan log in kembali.


Percobaan 6: Membuat Bash-Script dan Menjalankannya

1. Membuat file p1.sh 
  • $ vi p1.sh 
  • echo “Program bash Script”

  • Analisa: 

2. Mengubah program menjadi executable 
  • $ ls –l p1.sh 
  • $ chmod +x p1.sh 
  • $ ls –l p1.sh 
  • Analisa:

3. Menjalankan script 
  • $ bash p1.sh 
  • $ sh p1.sh 
  • $ . p1.sh 
  • $ ./p1.sh 
  • Analisa: 

4. Konvensi dalam pembuatan script shell dinyatakan sebagai #!/bin/bash. Tambahkan pada file p1.sh konvensi tersebut 
  • $ vi p1.sh 
  • #!/bin/bash 
  • echo “Program bash script” 
  • Analisa: 

5. Buatlah file p2.sh 
  • $ vi p2.sh 
  • #!/bin/bash 
  • echo “Program 2 bash script”
  • Analisa: 

6. Menjalankan beberapa program shell dalam satu baris instruksi yang dipisahkan dengan tanda ;

  • Analisa: 

Komentar

Postingan populer dari blog ini

Praktikum 11 - Manajemen User dan Group

Praktikum 7 - UNIX System Call dan Manajemen Memori

Praktikum 12 - Manajemen Aplikasi