Değişken İkamesi Hakkında
Önceki Kabuk Usulü Sözcük Yorumlama Sonraki
Değişken İkamesi Hakkında
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.
Bir ikame yapmak için bir değişken iki yöntemle kullanılabilir:
${değişken}
Eğer değişken ismi kaşlı ayraçlar içine alınırsa, değişken isminin bittiği yerin belirsizliği tamamen ortadan kalkar. Böylece değişken ismine sözcük eklenebilir. Örneğin, ${foo} değişkeninin değeri traktör ise ${foo}ler ifadesinin sonucu traktörler olur.
$değişken
Değişken ismi kaşlı ayraçlar içine alınmazsa, değişken ismi $ ile başlar ve alfanümerik karakterler ve altçizgi karakterinden oluşabilir. İsimden sonra gelen herhangi bir noktalama işareti değişken ismini sonlandırır. Örneğin, $foo-pulluk ifadesinin sonucu traktör-pulluk olur.
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.
${değişken:-öntanımlı}
değişken'e değer atanmamışsa ya da tanımsızsa değer olarak öntanımlı kullanılır, aksi takdirde değişken'in değeri kullanılır.
${değişken:=öntanımlı}
değişken'e değer atanmamışsa ya da tanımsızsa değer olarak öntanımlı kullanılır ve değişken'e öntanımlı değeri atanır.
${değişken:?ileti}
değişken'e değer atanmışsa ya da tanımlıysa, değeri kullanılır. Aksi takdirde, sözcük ikamesinin başarısız olduğu kabulüyle standart hata akımına bir hata iletisi olarak ileti basılır.
${değişken:+sözcük}
Sadece, değişken'e değer atanmışsa ya da tanımlıysa, değeri kullanılır. Aksi takdirde sonuç hiçbir şey olur.
${#değişken}
Bu ifadenin değeri, değişkenin değerindeki karakter sayısıdır. Sonuç onluk tabandadır. Örneğin, ${#foo} ifadesinin sonucu 7'dir, çünkü traktör 7 karakter uzunluktadır.
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.
Önceki Üst Ana Başlık Sonraki
Yaklaşık (~) Yorumlaması Hakkında Başlangıç XI. Oylum - Girdi/Çiktı İşlemlerine Giriş
Bir Linux Kitaplığı Sayfası