Takma Adlar
Önceki VI. Oylum - Bash'in Özellikleri Sonraki
Takma Adlar
Takma adlar bir basit komutun ilk sözcüğü olarak kullanıldığında, bir sözcüğün yerini bir dizgenin almasını mümkün kılar. Kabuk, alias ve unalias yerleşikleri ile atanan ve kaldırılan takma adları bir listede tutar.
Her basit komutun ilk sözcüğü, tırnak içine alınmamışsa, bir takma ada sahip mi diye bakılır. Sahipse, bu sözcük takma adın değeri ile değiştirilir. /, $, , =, kabuk meta karakterleri veya tırnak karakterleri, önceleme karakteri bir takma adın isim parçasında bulunamaz. Değer parçasında ise kabuk meta karakterleri dahil kabuk girdisi olarak geçerli tüm karakterler bulunabilir. Değerin ilk sözcüğü takma adlar için denenir, ama yorumlanacak bir takma isimle aynı olan bir sözcük ikinci kez yorumlanmaz. Bunu bir örnekle açıklayacak olursak,
    ls='ls -F'
ls hem bir takma ad ismi hem de takma adın değerindeki ilk sözcüktür. Değerin ilk sözcüğü ikinci kez bir takma ad ismi olarak tekrar yorumlanmaz, yani takma adlar iç içe olamazlar. Takma ad değerinin son karakteri bir boşluk ya da sekme karakteri ise, sonraki komut sözcüğünü izleyen takma ad ayrıca takma ad yorumlaması için kontrol edilir.
Takma adlar alias komutu ile oluşturulur ve listelenir; unalias komutu ile kaldırılır.
csh'daki gibi takma ad değerinde argümanları kullanmak için bir mekanizma yoktur. Argümanlar gerekliyse bir kabuk işlevi kullanılmalıdır.
Kabuk etkileşimsizken expand_aliases kabuk seçeneği etkin olmadıkça takma adlar yorumlanmaz.
Takma adların tanımlanması ve kullanımı ile ilgili kurallar bir parça kafa karıştırıcıdır. Bash komut satırındaki bir komutu çalıştırmadan önce daima en azından bir tam satır okur. Takma adlar bir komut çalıştırıldığı zaman değil, okunduğu zaman yorumlanır. Öte yandan, diğer komut olarak aynı satırda görünen bir takma ad tanımı girdinin sonraki satırı okunana kadar etkisizdir. Bu satırdaki komutlardan sonraki takma ad tanımları yeni takma addan etkilenmez. Bu davranış ayrıca işlevler çalıştırılırken de görülür. Takma adlar bir işlev çalıştırıldığı zaman değil, okunduğu zaman yorumlanır, çünkü bir işlev tanımının kendisi bir birleşik komuttur. Bir sonuç olarak, bir işlev içinde tanımlanmış olan takma adlar işlevin çalıştırılmasının sonrasına kadar kullanışsızdır. Emin olmak için, daima takma ad tanımlarını ayrı bir satıra koyun ve alias'ı birleşik komut içinde kullanmayın.
Hemen her maksat için, kabuk işlevleri takma adlara tercih edilir.
Önceki Üst Ana Başlık Sonraki
Kabuk Aritmetiği Başlangıç Diziler
Bir Linux Kitaplığı Sayfası