'arasındaki fark ne [[[bash?
Bash adam sayfa ve [[
kullandığını söylüyor Koşullu İfadeler baktım. Koşullu İfadeler baktım sonra bölüm ve test
([
) aynı operatörleri listeler.
Merak ediyorum da, bash [
[[
arasındaki fark nedir?
CEVAP
[[
[
komut bash bu gelişmedir. Eğer bash hedef komut yazarsanız daha iyi bir seçim yapmak birkaç geliştirme var. Benim Favorilerim:
[
olmayan bazı özel davranışları vardır bu yüzden kabuk sözdizimsel bir özellik. Artık[[
boşluk daha fazla boş dizeleri ve dizeleri sezgisel olarak işlemesi nedeniyle değişkenler alıntı deli gibi.[
ile örneğin, yazmak zorundaif [ -f "$FILE" ]
doğru boş dizeleri işlemek veya boşluk içeren dosya adları için.
[[
ile tırnak gereksizif [[ -f $FILE ]]
Sözdizimsel bir özellik olduğu için, dize karşılaştırmaları için
&&
||
boolean testleri için operatörler ve<
>
kullanmanıza olanak sağlar.[
yapamazsınız çünkü bu bir düzenli komut ve&&
,||
,<
, ve>
geçmedi düzenli komutları gibi komut satırı argümanları.Düzenli ifade eşleşmesi yapıyor
=~
harika bir operatör var.[
ile yazabilirsinif [ "$ANSWER" = y -o "$ANSWER" = yes ]
[[
ile bu gibi yazabilirsinizif [[ $ANSWER =~ ^y(es)?$ ]]
Hatta
BASH_REMATCH
depolar olan yakalanan gruplarına erişim sağlar. Örnek "" eğer "Evet" yukarıdaki. tam yazdığınız es olurduDesen eşleştirme aka bedava genelleme olsun. Belki Evet türü hakkında daha az kesin. Belki kullanıcı bu tür bir şey y iyisin. Size örtülü var:
if [[ $ANSWER = y* ]]
Bash bir uzantısı olduğunu unutmayın, eğer sh-uyumlu komut yazıyorsanız o zaman [
ile sopa gerekir. Eğer çift parantez kullanırsanız #!/bin/bash
mesele satırı olduğundan emin senaryon için.
Sh ve bash arasındaki fark...
köşeli parantez ve çift köşeli parante...
'arasındaki fark ne [[[bash?...
/Sh - & & arasındaki fark; Bash?...
Bash, tek ve çift tırnak arasındaki fa...