Lebih Dekat dengan Program Brackets ‘[‘ di GNU/ Linux

Untuk pengguna GNU/ Linux, ada hal menarik dalam direktori /usr/bin di distro yang kita gunakan. Program brackets ‘[‘ yang lebih kita kenal saat aktifitas scripting di shell (misalnya saat menggunakan kondisi if di script) dapat kita temukan pada direktori /usr/bin . Mari mengenal lebih dekat dengan program brackets tersebut.

Berkas aneh tersebut merupakan bagian dari GNU Coreutils, yang jika saya baca dari sumbernya langsung GNU , merupakan sebuah ekspresi kondisi yang mengembalikan nilai salah atau benar (true or false) dari kondisi yang didefinisikan.

returns a status of 0 (true) or 1 (false) depending on the evaluation of the conditional expression expr

Nilai tersebut sangat penting jika kita membutuhkan nilai keluaran yang akan di proses lebih lanjut. Mari kita coba buktikan dengan menuliskan ‘[‘ pada shell. Maka keluaran yang akan diperoleh adalah :
$ [
-bash: [: missing `]’

Hal tersebut karena kita menggunakan fungsi fasilitas built in shell. Coba kita analisis lebih jauh dengan mengidentifikasi file tersebut :
$ type [
[ is a shell builtin

Implementasi

Pertama-tama kita coba dengan menggunakan brackets penutup (dengan menggunakan spasi dan tanpa spasi)
$ [ ]
$ []
-bash: []: command not found

Berikutnya akan kita uji dengan informasi sebagai berikut: Setiap program ‘[‘ akan mengembalikan nilai (exit status) yang dapat dievaluasi dengan parameter : ‘$?’ . Dimana nilai kembalian 0 adalah benar dan 1 adalah salah.
Kita uji dengan penggunaan argumen -e <file> apakah suatu file ditemukan atau tidak :
$ [ -e /hary ]
$ $?
-bash: 1: command not found

$ [ -e /usr/bin/df.exe ]
$ $?
-bash: 0: command not found

Fungsi ‘[‘ ini juga dapat bekerja pada string seperti pengujian apakah sebuah string lebih dari Nol (Ada) atau string sama dengan Nol atau String sama dengan kosong (Null). Berikut pengujiannya :
$ [ -n “Ada string” ]
$ $?
-bash: 0: command not found

$ [ -n “” ]
$ $?
-bash: 1: command not found

$ [ -z “” ]
$ $?
-bash: 0: command not found

$ [ -z “Ada string” ]
$ $?
-bash: 1: command not found

Pengujian berikutnya membandingkan apakah dua string sama atau tidak. Berikut contohnya :
$ [ “tifosilinux” = “tifosilinux” ]
$ $?
-bash: 0: command not found

$ [ “tifosilinux” = “usmile” ]
$ $?
-bash: 1: command not found

$ [ “tifosilinux” != “tifosilinux” ]
$ $?
-bash: 1: command not found

Bagaimana perlakuannya dengan integer ?. Kita bisa uji dengan cara berikut :
$ [ 89 -eq 89 ]
$ $?
-bash: 0: command not found

$ [ 1 -eq 2 ]
$ $?
-bash: 1: command not found

$ [ 1 -ne 1 ]
$ $?
-bash: 1: command not found

Yang terakhir, kita bisa melakukan pengecekan apakah file ditemukan atau tidak :
$ [ -f /home/User25/reconnection.sh ]
$ $?
-bash: 0: command not found

$ [ -f /home/User25/mandrake.txt ]
$ $?
-bash: 1: command not found

Catatan tambahan :
Ada beberapa opsi selain -f untuk melakukan pengecekan file/ berkas, diantaranya :
-d : Pengecekan direktori
-b : Pengecekan blok file (seperti /dev/sda, etc)
-S : Pengecekan socker (seperti /var/run/acpid)
-r : Pengecekan file dapat di baca
-w : Pengecekan file dapat ditulisi
-x : Pengecekan file dapat di execute

Advertisements

Tinggalkan pesan atau komentar

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s