Bash , alfabedeki bir harften farklı olarak [veya ]karakterlerine (kendi başlarına) davranmaz .
Bu durumda bash bir "kelime" görür [ve bu ada sahip bir komut arar. Dosya sisteminize bakarsanız, muhtemelen /bin/[(veya /usr/bin/[) yürütülebilir bir dosya olarak var olduğunu göreceksiniz . Olduğu gibi, bash ayrıca yerleşik bir versiyon sağlar (verimlilik uğruna), ancak bu sadece bir uygulama detayıdır.
[(Olduğu gibi bu adla yürütülebilir) komutu, kendisine iletmek son parametre olması gerektiğini bir kuralı vardır ]ya da başka bir hata atar. Bu kısmen estetik açıdan hoş olduğu için olabilir, ancak sizi yanlışlıkla kesilmiş komutlardan korumaya da hizmet eder, bu da güzel.
Bunların özel olmaması, [veya öncesinde beyaz alanı neden atlayamamanızdır ].
İstisnalar :
- Ne zaman
[ve ]aynı kelime içerisinde doğru biçimde ortaya, örneğin [a-z], o ise özel ve bash en globbing kurallar geçerlidir.
[[Komut olan özel ve birçok şeyi yapabilir [(ve parametreler içeride olamaz [[ .. ]]gibi bazı satır sonları vardır, farklı işlenir). Buna karşılık gelen ]], komut adı olamayan ve [[anahtar sözcüğü izleyen özel işlemi sonlandırdığı için kabuk ayrılmış bir sözcük olduğundan da özeldir .
[(aynı zamanda) kendi kendini sürdürebilen bir komuttur: -rwxr-xr-x 1 kök kök 39552 Aralık 3 18:14 / usr / bin / [Mümkün olsa da, yerleşik "paralel" örneğinkill. Bazı sistemlerde,testkomut sembolik bir bağlantıdır[veya bunun tersi de geçerlidir. AFAIK,]tek başına bir şey ifade etmiyor, ancak a'yı "kapatmak" olarak kabul ediliyor[- ama daha çok "estetik" bir sebep için.