Dasar-dasar Bash Programming

Helloooo semuaaa, setelah di postingan sebelom2nya nulis tentang pengetahuan IT umum, maka di postingan kali ini saya pengen mengangkat tema IT yg agak spesifik, yaitu “Bash Programming” alias pemrograman Bash. Kenapa kog ngangkat tema ini? Yaaaah, bisanya ini gaaan.. Itupun gak dalem2 bgt, lg blajar juga..

Postingan ini niatnya akan dibagi ke beberapa bagian, yaitu sbb:

  1. Introduction
  2. Getting Started
  3. Contoh Script Sederhana

Bentar2.. Btw, kog ane laper ya? Brb, yaa… Mau cari cemilan dlu bwt nemenin nulis 😀

Beberapa menit kemudian…………………

Alhamdulillah.. Lumayan, nemu peyek kacang 😀 Skrg dh siap nulisnya, gak enak soalnya nulis sambil krucuk2 perutnya, bikin gak konsen 😐 OK deeeh, langsung ke bagian intro aja kali ya..

 

1. INTRODUCTION

Untuk masuk ke Bash programming, ada baiknya kenalan dengan si Bash ini. Siapa sih dia itu? Mari kita simak..

Bash merupakan shell-nya Unix, ditulis oleh Brian Fox untuk Proyek GNU sebagai pengganti sofwer gratis untuk Bourne shell. Pertama kali dirilis pada tahun 1989, Bash telah didistribusikan secara luas sebagai shell untuk login default-nya sebagian besar distribusi Linux dan Apple MacOS.

Kog nyebut2 shell? Apa pula itu?

Shell adalah istilah dalam UNIX untuk antarmuka pengguna & sistem operasi secara interaktif. Shell mengerti dan menjalankan perintah yang dimasukkan pengguna. Dalam beberapa sistem, shell disebut sebagai “command interpreter”. Shell biasanya merupakan sebuah antarmuka dengan sintaks perintah, seperti sistem operasi DOS dengan prompt “C:>”-nya dan perintah pengguna seperti “dir” dan “edit”.

Terus, di dunia ini emang cuman ada Bash doang? Ato ada shell yg lain selain Bash? Jawabannya.. Tentu aja ada. Berikut adalah beberapa jenis shell di UNIX..

  • Bourne shell – /bin/sh

Shell default-nya UNIX & banyak sistem operasi turunannya. Bourne shell ditulis oleh Stephen Richard Bourne *bukan sodaranya Jason Bourne* dan penekanannya lebih kepada bahasa script (set perintah) daripada shell interaktif.

  • C shell – /bin/csh

Didesain untuk menyediakan fitur interaktif yg kurang pada Bourne shell, seperti “job control” dan “alias“.

  • K shell – /bin/ksh

Dibuat oleh David Korn, memiliki fitur Bourne shell & C shell serta beberapa fitur tambahan lain.

  • Bash

Bash (Bourne again shell) dikembangkan oleh GNU project, berdasarkan bahasa Bourne shell dan memiliki fitur C shell & K shell.

  • tcsh

Shell default-nya sistem operasi FreeBSD & turunannya. Pada intinya, shell ini adalah C shell dgn penyelesaian baris perintah yg terprogram (programmable command-line completion), pengeditan baris perintah, dan beberapa fitur lain.

  • Zsh

Shell yg didesain untuk penggunaan interaktif dan memiliki banyak fitur dari Bash, ksh, dan tcsh, bersama dgn fitur2 baru lainnya.

Nah, di postingan kali ini akan bahas spesifik Bash saja ya..

OK, lanjut mengenai Bash.. Bash memproses perintah yg biasanya berjalan di jendela teks (CLI – Command Line Interface), di mana pengguna mengetikkan perintah yg menghasilkan action!!!

Bash - Bourne Again ShellBash juga dapat membaca dan mengeksekusi perintah di dalam sebuah file, yg disebut “script“. Seperti semua shell Unix, Bash mendukung variabel, struktur kontrol untuk pengujian kondisi dan iterasi.

Ada beberapa fitur juga yg di-copy dari shell lain, yaitu kata kunci, sintaks, dan fitur dasar lain yg didapet dari Bourne shell, terus ada perintah “history” yg didapet dari csh & ksh.

Udah lumayan lah yaaa intronya 🙂 Sekarang kita lanjut lagi ke..

 

2. GETTING STARTED

  • Untuk memulai pemrograman Bash menggunakan file script, kita gunakan yg namanya text editor, bisa vim, nano, ato pico, terserah pilihan Anda.
  • Lalu lalu lalu, buka text editor, dan ketikkan baris berikut di baris paling atas.
#!/bin/bash

Baris tsb disebut sebagai “shebang” *bukan lagunya Ricky Martin!!!* Jadi, shebang ini memberi tahu kernel mengenai jenis script yg dijalankan. Kalo shebang-nya pake /bin/bash, maka script-nya akan diinterpretasi dan dijalankan oleh Bash. Kalo pake /bin/ksh, berarti pake K shell, dst. dst…

Terus, tanda # di dalam script dipakai untuk menandai baris komentar. Jadi kata2 yg ditulis setelah tanda # akan dianggap komentar dan tidak akan dieksekusi.

  • Ada baiknya kita pelajari dulu tanda petik/tanda kutip (quote).
[table id=7 /]

3. CONTOH SCRIPT SEDERHANA

Sampe sini jelas to? Sekarang mau nyoba nulis script yg ZUPERRR FAMOUS di dunia pemrograman, dialah “Hello, World!“. Tapi sebelumnya, kita coba dulu yuk, langsung mengetikkan perintah echo “Hello, World!” di CLI-nya. Perintah echo ini digunakan untuk menampilkan string yg diinginkan di layar, dan yg digunakan adalah tanda petik tunggal (single quote) atau tanda petik ganda (double quote). Pilih salah satu yaaa, yg jelas cuman diperlukan untuk menampilkan string.

root@ubuntu:/home/ninkyhade# echo "Hello, World!"
Hello, World!

Nah, begitu perintah echo “Hello, World!” di-enter, maka output-nya akan langsung nongol di bawahnya. Sekarang, kita coba ketik perintah tsb ke dalam sebuah file script. Buka text editor favorit dan ketikkan baris2 berikut..

#!/bin/bash
# Ini komentar, gak akan dieksekusi. Liat di awal baris ada tanda pagernya ya..

echo "Hello, World!"

Kalo udah, jangan lupa di-save ya.. Kita kasih nama aja file-nya “hello.sh“. Setelah itu, kita coba jalankan script tsb yuk.. Begini caranya:

  • Ganti hak akses file “hello.sh” agar bisa dieksekusi (executable).
root@ubuntu:/home/ninkyhade# ls -l hello.sh
-rw-r--r-- 1 root root 33 Oct 18 21:35 hello.sh
root@ubuntu:/home/ninkyhade# chmod +x hello.sh
root@ubuntu:/home/ninkyhade# ls -l hello.sh
-rwxr-xr-x 1 root root 33 Oct 18 21:35 hello.sh
  • Jalankan script tsb dengan perintah berikut.
root@ubuntu:/home/ninkyhade# bash hello.sh
Hello, World!

NB: Perhatikan ya.. Karena file script “hello.sh” ada di direktori /home/ninkyhade dan dijalankan dari direktori yg sama, maka script tsb tidak perlu dijalankan dgn path lengkap. Tapi kalo script tsb dijalankan dari direktori yg berbeda, misal /root, maka perlu dijalankan dgn path lengkap, sehingga perintahnya menjadi –> bash /home/ninkyhade/hello.sh

  • Output pada layar –>> Hello, World! <<– merupakan hasil dari baris perintah echo “Hello, World!” yg ada pada file script “hello.sh”.

Sebenernya ada beberapa cara untuk menjalankan Bash script, selain menggunakan perintah “bash“, bisa juga digunakan perintah “sh“, atau “./“. Misalnya:

root@ubuntu:/home/ninkyhade# sh hello.sh
Hello, World!
root@ubuntu:/home/ninkyhade# ./hello.sh
Hello, World!

Yg membedakan adalah jika menggunakan perintah “bash” untuk menjalankan Bash script, file script tsb tidak harus diubah hak aksesnya menjadi executable. Namun jika menggunakan perintah “sh” atau “./“, maka file script tsb harus diubah hak aksesnya agar dapat dieksekusi. Saya sendiri lebih prefer untuk mengubah hak akses agar menjadi executable, karena bisa jadi bukan hanya kita saja yg akan menjalankan script tsb, tapi jg user lain yg login ke shell. Sesuaikan saja dgn kebutuhan ya.. 🙂

Naaaah.. Segitu dulu ya postingan kali ini. Takut kepanjangan, ntr bosen.. Insya Allah akan dilanjut dgn pembahasan variabel dan jenis2 operator pada Bash programming di postingan mendatang..

SUMBER

3 comments

  1. Pingback: Dasar-dasar Bash Programming (2) - mappesona.me

  2. Pingback: Dasar-dasar Bash Programming (3) - mappesona.me

  3. Pingback: Bash Programming for Beginner - mappesona.me

Leave Comment

Your email address will not be published. Required fields are marked *