Kabuk sözdiziminin bir parçası da bir kabuk değişkeninin değerini bir komutta kullanırken $değişken şeklinde kullanmaktır. Buna değişken ikamesi denir ve yapılan sözcük yorumlamanın bir parçasıdır.
Kaşlı ayraçlar kullanıldığında değeri değiştirmek için çeşitli oluşumları kullanmak ya da bazı sınamalar yapmak mümkün olur.
Aşağıdaki değişken ikamelerinde, değişkene bir değer ikame etmeden önce değeri kısmen kaldırılır. önek ve sonek basitçe birer dizge olmayabilir; dosyaismi kalıpları kullanılabilir. Ancak bu bağlamda bu kalıplar dosya isimleri ile değil, değişkenin değerinin parçaları ile eşleştirilirler.
-
${değişken%%sonek}
değişken'in değeri, değerin sonunda sonek kalıbı ile eşleşen kısmı iptal edilerek kullanılır.
sonek ile eşleşen çok sayıda parça varsa en uzun eşleşme iptal edilir.
Örneğin, ${foo%%r*} ifadesinin sonucu t olur, çünkü r* kalıbı ile değerin sonunda eşleşen en uzun parça raktör'dür.
-
${değişken%sonek}
değişken'in değeri, değerin sonunda sonek kalıbı ile eşleşen kısmı iptal edilerek kullanılır.
sonek ile eşleşen çok sayıda parça varsa en kısa eşleşme iptal edilir.
Örneğin, ${foo%r*} ifadesinin sonucu traktö olur, çünkü r* kalıbı ile değerin sonunda eşleşen en kısa parça r'dir.
-
${değişken##önek}
değişken'in değeri, değerin başlangıcında önek kalıbı ile eşleşen kısmı iptal edilerek kullanılır.
önek ile eşleşen çok sayıda parça varsa en uzun eşleşme iptal edilir.
Örneğin, ${foo##*t} ifadesinin sonucu ör olur, çünkü *t kalıbı ile değerin başlangıcında eşleşen en uzun parça trakt'tır.
-
${değişken#önek}
değişken'in değeri, değerin başlangıcında önek kalıbı ile eşleşen kısmı iptal edilerek kullanılır.
önek ile eşleşen çok sayıda parça varsa en kısa eşleşme iptal edilir.
Örneğin, ${foo#*t} ifadesinin sonucu raktör olur, çünkü *t kalıbı ile değerin başlangıcında eşleşen en kısa parça t'dir.