Altdizge yorumlaması uygulanamadığında, Bash bir parametrenin boş olması ya da atanmamış olması durumlarının varlığına bakar; bu durumda iki noktanın olmaması bir parametrenin sadece atanmamış olmasına bakılması ile sonuçlanır. İki noktanın olması durumunda işleç her iki durumun mevcudiyeti yanında değerin boş olmamasına da bakar; iki nokta olmadığında işleç sadece mevcudiyete bakar.
- ${parametre:-sözcük}
parametre atanmamışsa ya da boşsa, sözcük açılımı kullanılır. Aksi takdirde, parametre değeri kullanılır.
- ${parametre:=sözcük}
parametre atanmamışsa ya da boşsa, önce parametre ye sözcük açılımı atanır sonra da parametre nin değeri kullanılır. Konumsal parametreler ve özel parametreler bu yolla atanamayabilir.
- ${parametre:?sözcük}
parametre atanmamışsa ya da boşsa, sözcük açılımı (ya da sözcük verilmemişse olmadığını belirten bir ileti) standart hataya yazılır ve kabuk, etkileşimsizse çıkar. Aksi takdirde, parametre değeri kullanılır.
- ${parametre:+sözcük}
parametre atanmamışsa ya da boşsa, hiçbir şey kullanılmaz, aksi takdirde yerine sözcük açılımı kullanılır.
- ${parametre:konum}
- ${parametre:konum:uzunluk}
parametre içerisinde
konum dan başlayan
uzunluk karakterlik altdizge açılır.
uzunluk verilmemişse,
konum dan başlayan ve sona kadar giden altdizge açılır.
konum ve
uzunluk aritmetik ifadelerdir (
Kabuk Aritmetiği bölümüne bakınız). Bu
Altdizge Açılımı olarak bilinir.
uzunluk sıfır ya da pozitif bir sayıya karşılık olmalıdır. konum negatif bir sayıya karşılıksa değeri, parametre değerinin sonundan itibaren sayılır. parametre @ ise, sonuç, konum dan başlayan uzunluk konumsal parametredir. parametre @ veya * ile indislenmiş bir dizi ismi ise, sonuç, ${parametre[konum]} ile başlayan uzunluk üyeli bir dizidir.
Bir negatif konum belirtilen dizinin en büyük indisinden bir büyük indise göre ele alınır. :- yorumlaması ile karışmaması için bir negatif konum : karakterinden en az bir boşluk ile ayrılmalıdır.Altdizge indislemesi konumsal parametreler kullanılmadıkça sıfırdan başlar, konumsal parametrelerin varlığı halinde ise birden başlar.
- ${!önek*}
- ${!önek@}
önek ile başlayan isimler, IFS özel değişkeninin ilk karakteri ile ayrılan değişken isimleri olarak yorumlanır.
- ${!isim[*]}
- ${!isim[@]}
isim bir dizi değişkeni ise dizi indislerinin bir listesi isim'e atanır. isim bir dizi değilse, isim tanımlıysa 0'a değilse null'a genişletilir. @ kullanılmışsa ve yorumlama çift tırnaklar içinde görünüyorsa her indis ayrı bir sözcüğe genişletilir.
- ${#parametre}
parametre nin açılım değerindeki karakter sayısını verir. parametre * veya @ ise değer, konumsal parametrelerin sayısıdır. parametre, @ veya * ile indislenmiş bir dizi ismi ise, değer, dizideki üye sayısıdır.
- ${parametre#sözcük}
- ${parametre##sözcük}
sözcük dosyaismi açılımındaki gibi bir kalıp üretecek şekilde yorumlanır. Eğer kalıp,
parametre nin yorum değerinin başlangıcı ile eşleşirse, yorumlama sonucu olarak,
parametre'nin yorum sonucundan en kısa eşleşme kalıbı (
# durumu) veya en uzun eşleşme kalıbı (
## durumu) silinerek kalan değer atanır. Eğer
parametre @ ya da
* ise kalıp silme işlemi sıra ile konumsal parametrelerin her birine uygulanır ve yorumlama değeri sonuçlanan liste olur. Eğer
parametre,
@ ya da
* ile indislenmiş bir dizi değişkeni ise, kalıp silme işlemi sıra ile dizi üyelerinin her birine uygulanır ve yorumlama değeri sonuçlanan liste olur.
- ${parametre%sözcük}
- ${parametre%%sözcük}
sözcük dosyaismi yorumlamasındaki gibi bir kalıp üretecek şekilde yorumlanır. Eğer kalıp, parametre nin yorum değerinin son bölümü ile eşleşirse, yorumlama sonucu, silinen en kısa eşleşme kalıplı (# durumu) ya da en uzun eşleşme kalıplı (## durumu) parametre nin yorum değeridir. Eğer parametre @ ya da * ise kalıp silme işlemi sıra ile konumsal parametrelerin her birine uygulanır ve yorumlama değeri sonuçlanan liste olur. Eğer parametre, @ ya da * ile indislenmiş bir dizi değişkeni ise, kalıp silme işlemi sıra ile dizi üyelerinin her birine uygulanır ve yorumlama değeri sonuçlanan liste olur.
- ${parametre/kalıp/dizge}
kalıp dosyaismi yorumlamasındaki gibi bir kalıp üretmek üzere yorumlanır. parametre yorumlanır ve onun değerine karşılık olan en uzun kalıp eşleşmesi dizge ile değiştirilir. Eğer kalıp bir / imi ile başlıyorsa tüm kalıp eşleşmeleri dizge ile değiştirilir. Normalde sadece ilk eşleşme değiştirilir. Eğer kalıp, # ile başlıyorsa parametrenin yorumlanan değerinin başlangıcında eşleştirilmelidir. Eğer kalıp, % ile başlıyorsa parametrenin yorumlanan değerinin sonunda eşleştirilmelidir. Eğer dizge boşsakalıp eşleşmeleri silinir ve kalıp'tan sonraki / işareti atlanabilir. Eğer parametre, @ veya * ise ikame işlemi sıra ile her konumsal parametreye uygulanır ve sonuç bir liste olur. Eğer parametre, @ veya * ile indislenmiş bir dizi değişkeni ise ikame işlemi sırayla dizinin her üyesine uygulanır ve sonuç bir liste olur.