2016-04-03 30 views
1

Benim bash manuel devletler kısa circut mantıksal operatörlerin öncelik (ve birleşme) nedir. Yine de komutlar: ve echo 1 || (echo 2 && echo 3) farklı çıktılar verir. Bir şey eksik mi, yoksa bu kılavuzda sadece el kitabı çok hassas değil mi?bu operatörlerin bu bash

cevap

3

darbe kılavuzu belirtir:

bu liste Operatörler

, && ve || eşit önceliğe sahiptir ; ve &, ardından, eşit önceliğe sahiptir. Diğer tüm aklı başında dilin aksine

, && || daha büyük önceliğe sahip değildir. Sola bağlılık nedeniyle, echo 1 || echo 2 && echo 3, {echo 1 || echo 2;} && echo 3 olarak ayrıştırılmıştır.

+0

Ne kadar aptalım, Listeler bölümü yerine '[[]]' ifade değerlendirmesine bakıyordum. :/, Teşekkürler. – Domin