Davranış farklılıkları
Bash 4.3.11 ile ilgili bazı farklılıklar:
Tavsiye : her zaman kullanın []
.
[[ ]]
Gördüğüm her yapı için POSIX eşdeğeri var .
Sizi kullanırsanız [[ ]]
:
- taşınabilirliği kaybetmek
- okuyucuyu başka bir bash uzantısının inceliklerini öğrenmeye zorlayın.
[
sadece garip bir isimle düzenli bir emirdir, özel bir anlambilim söz konusu değildir.
Orn [[...]]
Korn kabuğundaki eşdeğer yapıdan esinlenmiştir
² ancak bazı değerler için başarısız a
veya b
(gibi +
ya index
) ve sayısal karşılaştırma eğer yapar a
ve b
göz gibi ondalık tamsayılar. expr "x$a" '<' "x$b"
her ikisi de etrafında çalışır.
³ ve ayrıca bazı değerleri için başarısız a
veya b
benzeri !
veya (
.
3.2 bash 3.2 ve üstü sürümlerde ve bash 3.1 ile uyumluluk sağlanmadığında (ile olduğu gibi BASH_COMPAT=3.1
)
Shell ve kabuk işleçleri ( ve işleçlerin veya / işleçlerin aksine ) eşit önceliğe sahip olduğundan gruplama (burada {...;}
bunun yerine (...)
gereksiz bir alt kabuk çalıştıracak olan komut grubu ile birlikte ) gerekli değildir . Yani eşdeğer olur.||
&&
||
&&
[[...]]
-o
-a
[
[ a = a ] || [ a = b ] && [ a = b ]
[[
kod iyi ve net onunla, ama o gün hatırlıyorum da liman olacak değil varsayılan kabuk ile sistem üzerinde scriptworksbash
veyaksh
, vb.[
çirkin, hantal amaAK-47
her durumda olduğu gibi çalışıyor .