Kaşlı ayraç yorumlaması, keyfi dizgeler üretmek amacıyla kullanılan
bir mekanizma sağlar. Bu mekanizma
Dosyaismi Yorumlamasına benzer, ancak üretilen
dizgeler mevcut dosya isimleri olmak zorunda değildir. Kaşlı ayraç
yorumlamasına esas alınacak kalıplar, isteğe bağlı bir
öndizge ile
başlar, kaşlı ayraçlar içine alınmış virgül ayraçlı dizgelerden veya bir dizilim ifadesinden sonra
gelen yine isteğe bağlı bir
sondizge ile biter.
Yorumlama daima soldan sağa doğru yapılır.
Kaşlı ayraç yorumlaması iç içe olabilir. Dizgelerin yorumlanması
soldan sağa yapılması dışında bir sıraya bağlı değildir. Örneğin:
bash$ echo a{d,c,b}e
ade ace abe
Bir dizilim ifadesi
biçimindedir, burada x ve y ya tamsayılardır ya da tek karakterlik dizgelerdir. Tamsayı olarak verildiklerinde, ifade x ve y (dahil) arasındaki sayılara genişletilir. Karakter olarak verildiklerinde ise ifade x ve y (dahil) arasındaki alfabetik sırada harflere genişletilir. x ve y değerlerinin aynı türde olması gerektiğine dikkat ediniz.
Kaşlı ayraç yorumlaması diğer bütün yorumlamalardan önce yapılır ve
diğer yorumlamalara özel karakterlerin hepsi korunur. Yorumlama tamamen
metinseldir. Bash yorumlanan kalıba ya da parantezler içindeki metne
herhangi bir sözdizimsel yorumlama uygulamaz. Parametre yorumlaması ile
karışmaması için ${ dizgesi kaşlı ayraç
yorumlamasında işlenmez.
Kurallara uygun oluşturulmuş bir kaşlı ayraç yorumlamasında, kaşlı
ayraçlar tırnaklar arasında olmamalı ve en azından bir tırnaksız
virgül veya geçerli bir dizilim ifadesi bulunmalıdır.
Aksi takdirde yorumlama uygulanmaz, verilen kalıp
değişmeden kalır.
Bir { veya , bir kaşlı ayraç ifadesinin parçası olarak yorumlanmamaları için bir tersbölü karakteri ile öncelenebilir. Parametre yorumlaması ile çelişmekten kaçınmak için ${ dizgesi kaşlı ayraç yorumlaması için seçilebilir varsayılmaz.
Bu yapı genellikle yukarıdaki örnektekinden daha uzun ve
aynı öneke sahip çok sayıda dizge olduğunda benzer şeyleri
defalarca yazmamak için bir kısayol olarak kullanılır:
mkdir /usr/local/src/bash/{old,new,dist,bugs}
veya
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}