Saya melihat coreutils dan menemukan ini sebagai salah satu dari file dimasukkan sebagai bagian dari coreutils: /usr/bin/[
. Apa itu [
dan apa fungsinya?
Ini adalah executable. Saya hanya tidak tahu apa fungsinya atau bagaimana menggunakannya.
$ file / usr / bin / [
/ usr / bin / [: ELF 32-bit LSB dapat dieksekusi, Intel 80386, versi 1 (SYSV), ditautkan secara dinamis (menggunakan shared libs), untuk GNU / Linux 2.6.15, dilucuti
Ketika saya mencoba menjalankannya, saya pikir itu adalah default untuk bash built in expansion line. Alih-alih benar-benar menjalankan file.
$ "/ usr / bin / ["
/ usr / bin / [: missing ] ']' $ /usr/bin/\[
/usr/bin/[: missing
man [
bekerja pada OS X.Jawaban:
Ini setara dengan perintah
test
. (Lihatinfo test
.) Secara umum Anda menggunakannya dalam skrip dalam ekspresi bersyarat seperti:Braket penutup diperlukan untuk melampirkan kondisional. (Yah, sepertinya diperlukan hanya agar terlihat lebih bagus dalam kode. Apakah ada yang tahu alasan praktis lain untuk itu?)
sumber
[
adalah baik shell built-in dan program eksternal dengan penggunaan yang sama (atau serupa). Di bash, ketika Anda menjalankan[
atautest
Anda memohon built-in.Itu sama dengan
test
perintah.Dari pada
Anda dapat gunakan:
Ini dapat digunakan dalam loop juga:
Anda juga dapat menggunakannya dalam satu baris seperti ini:
sumber