İlgili bir soruya biraz daha detay eklemeye çalışırken , mevcut Bash kelime türlerinden hangisinin yürütüleceğini nasıl belirleyeceğimi bilmediğimi fark ettim. Buna göre help typebeş kelime türü vardır:
- takma ad
- anahtar kelime
- fonksiyon
- builtin
- dosya
Bir kelimenin çeşitli türlere sahip olması mümkündür ( truesadece bir örnektir; daha yaygın olarak geçersiz kılınan bir kelime olurdu cd):
$ type -a true
true is a shell builtin
true is /bin/true
Belirli bir eşanlamın yürütülmesini nasıl zorlarsınız? Şimdiye kadar, öncelik sırasına göre:
takma ad: Diğer tüm eşanlamlılardan daha öncelikli olduğu için bu özel bir durumdur. Bunu zorlamak, ancak diğer ad tanımlanmadıysa komutun başarısız olması durumunda yararlı olacaktır.
$anahtar kelime:
$fonksiyon:
$builtin:
$ builtin truedosya:
$ command true $ $(which true) $ /bin/true
Bir kelimeye alıntı yapmak takma adları ve anahtar kelimeleri hariç tutar. Yani,
$ 'true'yalnızca işlevi, yerleşik veya dosyayı çalıştıracaktır.
commandbastırır ve işlev aramasını bastırır, ancak bunların hiçbiri kalan eşanlamlılardan hangisinin kullanılacağını belirtmez. Sadece belirli bir eşanlamlı yürütmek için belirtmek için bir yol arıyorum .