Bu yinelenen bir soru ise şimdiden özür dilerim. Buraya sormadan önce araştırmak / kontrol etmek için çaba sarf ettim.
Böyle bir gömlek yazarken rahatım:
foocommand && foocommand2 && foocommand3
Fikir, önceki komutun "başarılı" olması durumunda yalnızca sonraki komutların çalıştırılmasını istediğimdir.
Biraz uzun bir senaryo yazıyorum ve bu tek gömlek mümkün değil çünkü herkes için büyük bir kafa karıştırıcı kod bloğuna benziyor.
Komutları boşluk bırakmak ve aralarında yorum yazabilmek istiyorum. Bunu nasıl yapabilirim ve hala içinde && eşdeğeri var mı?
||
ve &&
( |
veya aksine &
) kısa devre olduğu söylenir. Son operatörlerle kullanılan davranışa istekli değerlendirme denir.
a && b && c
yalnızca başarılı b
olursa a
çalışır, bu nedenle "yalnızca başarılı c
olursa çalışır b
" ve "yalnızca başarılı ve her ikisi de başarılı c
olursa " eşdeğer ifadelerdir: başarılı olmadıkça başarılı olamaz . a
b
b
a
a || b && c
daha açıklayıcıdır.
true || false && echo hi
çıkacaktır hi
. Şartname okur, "&&" ve "||" operatörleri eşit önceliğe sahip olacak ve sol birliktelik ile değerlendirilecektir.
&&
Önceki eğer müteakip komutu çalıştırmak anlamına gelmez bir başarılı oldu. Bu eğer komut çalıştırmak anlamına gelir kolektif sonuç ait tüm komuta listedeki önceki komutları başarıdır. Bunu biliyor olabilirsiniz, ancak gelecekteki okuyucular yanlış anlayabilir.