Bash Shell

Bash Shell
  1. Pengantar
    Pernahkah Kita memikirkan mengenai proses yang terjadi ketika Kita memberikan perintah kepada Linux?

    Setelah perintah diberikan, ada beberapa proses yang terjadi, tetapi Kita hanya memperhatikan tingkat yang paling atas yaitu shell. Secara sederhana, shell adalah user interface kepada sistem operasi, baik itu DOS, Windows, maupun *NIX.

    Ada beberapa macam shell, yang paling umum adalah Bash, yang dikenal sebagai user interface berbasis karakter. Jenis interface lainnya adalah GUI (Graphical User Interface). Yang Kita akan bahas di sini adalah shell yang berbasis CLI, dan lebih spesifik mengenai Bash Shell.
  2. Berkenalan dengan Shell
    Tugas shell adalah menerjemahkan perintah yang diberikan user menjadi bentuk perintah yang dimengerti oleh sistem operasi. Contoh
    Quote:
    ls > list.txt
    Perintah tersebut berarti menampilkan isi direktori saat ini ke dalam file list.txt. Jadi tampilan tersebut tidak ditampilkan ke layar, tetapi langsung ke file list.txt ini.

    Proses yang dikerjakan oleh shell adalah:
    • Memisahkan baris perintah tersebut menjadi 3 bagian: ls, > dan list.txt
    • Menentukan fungsinya, dimana ls adalah perintah, > dan list.txt adalah instruksi I/O
    • Menset I/O berdasarkan > list.txt dan beberapa instruksi standar dan implisit
    • Mencari perintah ls dan menjalankannya
    Daftar shell yang terpasang berada di file /etc/shells. Pemeriksaan lainnya juga dapat dilakukan dengan perintah berikut (walau tidak semuanya benar)
    Quote:
    $ls /bin | grep sh
    Bila Kita benar-benar ingin memeriksa shell yang ada, Kita bisa mengkombinasikan kedua cara di atas dengan perintah berikut
    Quote:
    $ for f in `grep -v ^# /etc/shells`; do if [ -f $f]; then echo $f; fi; done
    1. Bash (Bourne Again Shell)
      Bourne Again Shell (Bash) dinamakan seperti itu karena shell ini mengacu pada shell yang dibuat oleh Steve Bourne.

      Bash diciptakan untuk digunakan dalam proyek GNU dan juga untuk menjadi shell standar sistem GNU. Bash lahir pada hari Minggu, 10 Januari 1998. Brian Fox yang menulis versi awal bash dan readline dan terus diperbaiki hingga tahun 1993. Chet Ramey bergabung di tahun 1989 dan secara resmi memelihara bash sampai saat ini, dan Ia juga membuat peningkatan-peningkatan lebih lanjut.

      Bash semakin populer karena merupakan shell yang umum dalam setiap OS UNIX. Bash juga menyertakan fitur-fitur terbaik shell C dan Korn, dan beberapa fitur unik lainnya. Bash ini tetap kompatibel dengan shell Bourne.

      Salah satu fitur Bash yang cenderung menarik adalah mode edit. Dengan edit perintah baris, akan menjadi lebih mudah dalam hal menggunakannya kembali, membetulkan kesalahan ataupun memodifikasinya.

      Fitur utama lainnya yang meminjam dari shell C adalah kendali perintah, yang akan memberikan Kita kemampuan untuk memulai, menghentikan dan menunda sejumlah perintah di waktu yang bersamaan.

      Keunggulan lainnya adalah Ia banyak menyertakan pilihan dan variabel baru untuk kustomisasi dan fitur pemrograman yang telah diperbaiki untuk menyertakan definisi fungsi, aritmatika integer, kendali I/O, dsb.
    2. Menggunakan Bash
      Umumnya, bila Kita berkutat di CLI, maka sebenarnya Kita telah menggunakan Bash. Sebenarnya di dalam sistem Kita, terdapat lebih dari 1 shell.

      Untuk mengetahui Kita bekerja di shell yang mana, ketikkan perintah
      Quote:
      echo $SHELL
      Bila kita tidak menggunakan Bash, dan ingin memakainya, ketik perintah bash. Tetapi Kita juga harus memastikan bahwa bash memang ada di sistem Kita. Bila menemukan pesan not found artinya bash belum terinstall di sistem Kita.

      Bila Kita ingin menjadikan bash sebagai shell default, berikan perintah berikut:
      Quote:
      $ chsh
      Lokasi bash bisa diketahui dengan perintah which bash. Selanjutnya bila Anda melakukan login, maka shell default Anda adalah bash.
  3. Bekerja Dengan Shell
    1. Prompt Shell
      Prompt shell merupakan tanda atau tempat yang menandakan bahwa perintah dapat diberikan. Masing-masin shell memiliki prompt yang berbeda. Prompt shell ini juga dapat memberitahukan kepada Kita bahwa saat ini Kita login dengan root atau user biasa.

      Pada shell bash, untuk user biasa ditandakan dengan $ dan untuk root ditandakan dengan #.

      Prompt standar shell, sebenarnya dapat Kita ganti. Jadi, bagi Kita yang sering melihat tampilan prompt standar seperti ini
      Quote:
      [user@pclinux home]
      maka Kita bisa membuatnya menjadi tampil beda.

      Prompt dalam shell bash didefinisikan dengan menggunakan variabel environment PS1. Untuk melihatnya, gunakan perintah
      Quote:
      $ echo $PS1
      PS1 digunakan untuk prompt pertama, artinya bila perintah yang Kita berikan tidak cukup satu baris, harus dilanjutkan pada baris berikutnya, maka definisi prompt pada PS2 (prompt kedua) akan ditampilkan.

      Untuk mengubah prompt, perintahnya adalah
      Quote:
      $ export PS1="Prompt Baru"

      Nilai yang dapat dimasukkan adalah:
      \ = karakter ESC, untuk karakter khusus (misalnya $) dapat dituliskan \$
      \u = menampilkan nama pemakai
      \h = menampilkan nama host
      \w = menampilkan nama direktori kerja saat ini
      Contoh, misalkan Kita ingin mengubah prompt standar menjadi seperti ini
      Quote:
      user di pclinux kerja di home >
      maka perintah yang kita berikan adalah
      Quote:
      $ export PS1="\u di \h ada di \w >"
    2. Varibel Environment
      Variabel environment adalah daftar variabel untuk menyimpan nilai-nilai yang dibutuhkan oleh shell dalam melakukan suatu proses. Contoh variabel yang sering digunakan adalah PATH. Variabel ini berguna untuk mencari lokasi suatu program yang akan dijalankan, bila program tidak ditemukan di direktori saat ini.
      • Untuk menampilkan variabel environment, perintahnya
        Quote:
        $ env
      • Untuk menampilkan isi suatu variabel environment, perintahnya
        Quote:
        $ echo $NamaVariabelEnvironment
      • Untuk mendefinisikan, mengubah isi variabel environment, perintahnya
        Quote:
        $ export NamaVariabelEnvironment=Nilai
      • Untuk menambahkan nilai kepada variabel environment yang sudah ada, perintahnya
        Quote:
        $ export NamaVariabelEnvironment=$NamaVariabelEnvironment:N ilaiBaru
    3. Histori Perintah Shell
      Jika Kita sering mengetikan perintah shell, Kita biasa menggunakan panah atas dan panah bawah untuk menggunakan perintah shell yang sudah pernah Kita berikan. Bahkan perintah tersebut akan terus ada walaupun Kita telah melakukan Log-off ataupun mematikan komputer. Kenapa bisa begitu? Karena semuanya tersimpan di dalam file .bash_history yang berada di direktori home setiap user. Contoh jika ingin melihat daftar histori perintah yang pernah diberikan, maka Kita bisa memberikan perintah history.

      Perintah untuk memanggil kembali, selain dengan panah atas dan panah bawah juga bisa dengan menggetikan nomor perintahnya. Misalnya, Kita ingin memanggil perintah ls -al yang pernah Kita berikan. Dari perintah history yang Kita lihat, ternyata perintah ls -al ini berada di nomor urut 11, maka perintah yang Kita gunakan adalah
      Quote:
      $ !11
    4. Alias dan Unalias
      Misalkan, Kita mempunya perintah yang sangat panjang tentu akan tidak efisien bila Kita sering menggetikan perintah yang panjang tersebut. Atau misalkan Kita ingin menggunakan bahasa Indonesia dengan perintah-perintahnya, semua hal tersebut dapat dilakukan dengan menggunakan alias. Perintahnya adalah
      Quote:
      $ alias NamaAlias=Perintah
      $ alias NamaAlias='Perintah'
      $ alias NamaAlias="Perintah"
      Contoh, Kita dapat memberikan perintah berikut
      Quote:
      $ alias la='ls -al'
      maka ketika Kita mengetikan perintah la, hasil yang muncul akan sama dengan Kita memberikan perintah ls -al.

      Hebatnya, Kita bahkan bisa mendefinisikan ulang perintah dasarnya. Contoh perintah berikut akan mengubah perilaku dari perintah ls
      Quote:
      $ alias ls='ls -al
      maka setiap kali Kita mengetikan ls maka hasil yang muncul adalah sama dengan perintah ls -al.

      Untuk melihat daftar alias yang telah ada, Kita dapat menggunakan perintah
      Quote:
      $ alias
      Untuk menghapus alias, Kita dapat menggunakan perintah
      Quote:
      $ unalias -a | NamaAlias
      Perintah -a artinya untuk menghapus semua alias yang aktif.
      Perintah alias ini akan disimpan per user, jadi user A bisa memiliki alias yang berbeda dengan user B.

No comments: