Berkas biner menarik di sistem Unix
- Di sistem Unix, ada berkas biner yang namanya berupa satu simbol tunggal.
- Jika menjalankan perintah
/bin/[, Anda bisa melihat program bernama[. [dantestmenunjuk ke berkas biner yang sama, dan kedua perintah itu sebenarnya menjalankan fungsi yang sama.
Penggunaan program test dan [
- Program
testdigunakan untuk mengevaluasi ekspresi di shell. - Digunakan untuk perbandingan string, perbandingan angka, pemeriksaan kondisi file, dan sebagainya.
testmenerima argumen untuk mengevaluasi ekspresi, lalu mengembalikan 0 jika benar dan 1 jika salah.
Alasan keberadaan dua perintah
- Alasan adanya dua perintah,
testdan[, tidak sepenuhnya jelas, tetapi diduga untuk meningkatkan keterbacaan. - Dengan memakai perintah
[, kondisi dapat ditulis lebih rapi dibandingkantest. - Saat menggunakan
[, argumen terakhir perintah harus diakhiri dengan].
Perbedaan perintah bawaan dan berkas biner eksternal
- Karena
testdan[sering dipakai dalam skrip shell, keduanya diimplementasikan sebagai perintah bawaan di sebagian besar shell. - Saat memakai perintah bawaan dan berkas biner eksternal, perilakunya bisa berbeda, dan perbedaannya juga dapat muncul tergantung shell yang digunakan.
Penggunaan dan perbedaan [[
[[adalah ekstensi Bash yang menggantikan penggunaan[.- Sebagai perintah bawaan,
[[dapat mengubah aturan dasar bahasa di dalam ekspresi. - Saat membandingkan string,
[[dapat memperlakukan pola glob sebagai literal sehingga menghasilkan hasil yang berbeda.
Pilihan saat menulis skrip shell
- Saat menulis skrip shell yang portabel, lebih baik menggunakan
[. - Jika menulis skrip khusus Bash, menggunakan
[[memberi lebih banyak fitur.
Menggabungkan ekspresi shell dan ekspresi test
- Shell memiliki ekspresinya sendiri melalui operator
!,&&, dan||. - Ekspresi
testdan ekspresi shell dapat digabungkan menjadi satu perintah.
Pendapat GN⁺
Poin terpenting dalam tulisan ini adalah bahwa di sistem Unix, [ dan test hadir sebagai dua perintah berbeda yang menjalankan fungsi yang sama, dan hal ini diduga untuk meningkatkan keterbacaan serta efisiensi skrip shell. Informasi ini dapat berguna bagi insinyur perangkat lunak pemula saat menulis atau memahami skrip shell, serta membantu memahami cara kerja skrip shell dan perbedaan di antara berbagai shell. Tulisan ini menarik karena menunjukkan bagaimana alat-alat dasar dalam skrip shell dapat digunakan dalam berbagai bentuk, sekaligus menampilkan kompleksitas dan fleksibilitas pemrograman shell dengan baik.
1 komentar
Komentar Hacker News
Ucapan terima kasih dari penulis asli dan usulan revisi judul
Sejarah perintah "test" di shell Bourne dan preferensi pribadi
Contoh ekspresi kondisional tanpa menggunakan blok
ifCara menggabungkan blok
ifdengan perintah biasaPertimbangan penggunaan operasi logika dalam perintah
testKelebihan memakai perintah "test" dan kemudahan "man test"
Perhatian pada perilaku argumen tunggal
[dantestPerbedaan
/bin/[dan/bin/testdi Linux dan NetBSDBerbagi tautan blog untuk eksplorasi lebih dalam tentang
test/[/[[dan berbagai keanehan shellMenunjukkan bahwa
[[khusus bash, dan merekomendasikan[[bila pasti menggunakan bashKebingungan tentang anggapan bahwa
[bukan bagian dari bahasa scripting bashPendapat keras tentang shell dan penolakan terhadap penggunaan
[