jak rozumiem
= spodziewa ciągi
eq oczekuje całkowitymi
"$ bar" jest dosłownym meczów, czyli z * może poszerzyć ale "z *" dosłownie dopasować wildcard char.
Różnica między [] i [[]] polega na tym, że w drugim wyrazie podział i rozszerzenie nazwy ścieżki nie są wykonywane, ale są w pierwszym.
Plus [[]] pozwala na dodatkowe operatory:
& & (I), || (OR) > (String1 lexically większa niż ciąg2) < (String1 lexically poniżej ciąg2)
operatora porównania == zachowuje się inaczej w teście podwójnego wsporniki niż na pojedynczych wsporników.
[[$ a == z *]] # Prawda, jeśli $ a rozpoczyna się od "z" (dopasowanie do wzorca).
[[$ a == "z *"]] # Prawda, jeśli $ a jest równe z * (dopasowanie literalne).
[$ a == z *] # Rozpowszechnianie plików i dzielenie słów.
["$ a" == "z *"] # Prawda, jeśli $ a jest równe z * (dopasowanie literalne).
Wyjazd http://tldp.org/LDP/abs/html/comparison-ops.html uzyskać więcej informacji
możliwe duplikat [bash podwójne lub pojedyncze wspornika, nawiasach nawiasów klamrowych] (http://stackoverflow.com/questions/2188199/bash-double-or-single-bracket-parentheses-curly-braces) –
Czytaj http://mywiki.wooledge.org/BashGuide http://mywiki.wooledge.org/BashFAQ http://mywiki.wooledge.org/BashPitfalls – Philipp