&& Apakah logika AND:
&& adalah cara untuk mengekspresikan Logical AND , yang berarti seluruh ekspresi adalah Benar hanya jika kedua sisi itu benar. Dalam logika, dikatakan bahwa seluruh pernyataan (P&Q) hanya benar ketika P dan Q benar.
Sebagai akibatnya, komputer umumnya memperlakukan P&Q sebagai evaluasi arus pendek . Jadi karena seluruh pernyataan hanya akan Benar jika P dan Q benar, maka jika P salah, pernyataan Q tidak dievaluasi . Pada dasarnya komputer itu malas (efisien), dan tidak repot mengevaluasi Q jika mereka juga tidak. Ini juga Benar logis ATAU, lihat tautan sebelumnya.
Tiga Konteks && di Bash:
1) Menggunakan Evaluasi Sirkuit Pendek dengan status keluar dari Perintah:
Setiap perintah memiliki status keluar. Jika suatu perintah memiliki kesalahan, ia memiliki status keluar yang bukan nol. Jadi jika status keluar adalah bukan nol dan && digunakan untuk mengaitkan perintah bersama menjadi pernyataan, perintah selanjutnya tidak akan dievaluasi (dieksekusi) jika yang sebelumnya tidak memiliki status keluar 0 (Benar). Ini karena evaluasi hubung singkat. Jadi, jika Anda memiliki:
P && Q
Q tidak akan dieksekusi jika P tidak benar (jika P keluar dengan status apa pun kecuali 0, itu tidak benar). Sama seperti:
./configure && make
make tidak akan dieksekusi jika configure memiliki kesalahan, itu tidak benar. Jadi pada dasarnya, maka akhirnya menjadi cara menulis jika pernyataan itu:
if ./configure ; then
make
fi
Perlu diingat bahwa dalam sebagian besar konteks 0 adalah salah, tetapi tidak ketika datang ke status keluar.
2) && Dapat Digunakan dalam perintah uji Bash bawaan [[]]:
&& Dapat juga digunakan di dalam perintah uji bawaan di bash [[]] untuk menggabungkan ekspresi dengan cara yang sama seperti menggabungkan perintah. Seluruh operasi pengujian hanya akan benar jika kedua operan (sisi) && benar, misalnya:
if [[ ( $a -gt 2 ) && ( $a -lt 5 ) ]]; then ...
akan menjadi cara untuk mengatakan jika $ a adalah bilangan bulat antara 2 dan 5 (tidak termasuk 2 dan 5).
3) Evaluasi Aritmatika:
Terakhir, && dapat digunakan dalam evaluasi aritmatika sebagai Logis DAN. Jika keduanya (logis DAN) dari angka-angka di bawah ini adalah bukan nol, angka itu mengembalikan 0, kalau tidak 1 akan dikembalikan:
kbrandt@desktop:~/$ echo $((1 & 1))
1
kbrandt@desktop:~/$ echo $((0 && 1))
0