Takma ad (komut) - Alias (command)

takma ad
Takma ad komutu örneği
Nın bir örneği takma ad komut
Orijinal yazar (lar)Bill Joy
Geliştirici (ler)Çeşitli açık kaynak ve ticari geliştiriciler
İşletim sistemiUnix, Unix benzeri, AmigaDOS, Microsoft Windows, ReactOS, AROS, KolibriOS, IBM i
PlatformÇapraz platform
TürKomut

İçinde bilgi işlem, takma ad bir komut çeşitliliğinde komut satırı yorumlayıcıları (kabuklar ), bir kelimenin başka bir dizeyle değiştirilmesini sağlar.[1] Esas olarak bir sistem komutunu kısaltmak veya düzenli olarak kullanılan bir komuta varsayılan argümanlar eklemek için kullanılır. takma ad mevcuttur Unix kabukları, AmigaDOS, 4DOS /4SA, KolibriOS, Windows PowerShell, ReactOS, ve EFI kabuğu.[2] İçindeki takma ad işlevselliği MS-DOS ve Microsoft Windows işletim sistemleri tarafından sağlanır DOSKey komut satırı yardımcı programı.

Bir takma ad, kabuk oturumunun ömrü boyunca sürecektir. Düzenli olarak kullanılan takma adlar, kabuğun rc dosyası (gibi .bashrc) böylece ilgili kabuk oturumunun başlangıcında kullanılabilir olacaklar. Takma ad komutları, yapılandırma dosyasına doğrudan yazılabilir veya kaynaklı ayrı bir dosyadan.

Tarih

Unix'te, takma adlar C kabuğu ve soyundan gelen mermilerde hayatta kal tcsh ve bash. C kabuk takma adları kesinlikle bir satırla sınırlıydı. Bu, basit kısayol komutları oluşturmak için yararlıydı, ancak daha karmaşık yapılar için değil. Eski sürümleri Bourne kabuğu takma adlar sunmadı, ancak csh takma adı konseptinden daha güçlü işlevler sağladı. Csh'deki takma ad kavramı, Bourne Again Shell (bash) ve Korn kabuğu (ksh). Hem işlevleri hem de diğer adları destekleyen ancak parametreli satır içi kabuk komut dosyaları içermeyen kabuklarla, mümkün olan her yerde işlevlerin kullanılması önerilir. Takma adların gerekli olduğu durumlar, zincirleme takma adların gerekli olduğu durumları içerir (bash ve ksh). takma ad komut aynı zamanda IBM i işletim sistemi.[3]

Kullanım

Takma adlar oluşturma

Unix

Kalıcı olmayan takma adlar, alias komutu için bağımsız değişkenler olarak ad / değer çiftleri sağlanarak oluşturulabilir. İçinde Unix kabukları sözdizimi şöyledir:

takma ad gc='git commit'

C kabuğu

İlgili sözdizimi C kabuğu veya tcsh kabuk:

takma ad gc "git commit"

Bu takma ad, komutun gc kabukta okunur, değiştirilecektir git işlemek ve bunun yerine bu komut yürütülecektir.

4DOS

4DOS / 4NT kabuğunda, aşağıdaki sözdizimi cp 4DOS için takma ad olarak kopya komut:

alias cp copy

Windows PowerShell

Windows PowerShell'de yeni bir diğer ad oluşturmak için, yeni-takma ad cmdlet kullanılabilir:

yeni-takma ad ci kopya öğesi

Bu, adında yeni bir takma ad oluşturur ci ile değiştirilecek kopya öğesi cmdlet çalıştırıldığında.

PowerShell'de, bir komut için varsayılan bağımsız değişkenleri belirtmek için bir takma ad kullanılamaz. Bunun yerine, bu, PowerShell tercih değişkenlerinden biri olan $ PSDefaultParameterValues ​​koleksiyonuna öğeler eklenerek yapılmalıdır.

Şu anda tanımlanmış takma adları görüntüleme

Tanımlanmış takma adları görüntülemek için aşağıdaki komutlar kullanılabilir:

takma ad          # Bağımsız değişkenler olmadan kullanılır; mevcut tüm diğer adların bir listesini görüntülertakma ad -p # Diğer adları, çıktıyı kaynak alarak yeniden oluşturmaya izin verecek şekilde listeleyin; 4DOS / 4NT ve PowerShell'de mevcut değildirtakma ad myAlias # Tanımlı bir takma ad için komutu görüntüler

Geçersiz kılan takma adlar

Unix kabuklarında, takma adı kullanırken takma addaki herhangi bir karakteri tırnak içine alarak bir takma adı geçersiz kılmak mümkündür. Örneğin, aşağıdaki takma ad tanımını göz önünde bulundurun:

takma ad ls='ls -la'

Bu takma adı geçersiz kılmak ve ls orijinal olarak tanımlandığı şekliyle aşağıdaki sözdizimi kullanılabilir:

"ls"

veya

 ls

4DOS / 4NT kabuğunda, bir yıldız işaretinin önüne ekleyerek bir takma adı geçersiz kılmak mümkündür. Örneğin, aşağıdaki takma ad tanımını göz önünde bulundurun:

takma ad dir = * dir / 2 / p

2. örneğindeki yıldız işareti dir sahte olmamaya neden olur dir yinelemeli takma ad genişletmesini engelleyerek çağrılacak. Ayrıca kullanıcı, takma olmayan davranışını da alabilir. dir aynı sözdizimini kullanarak komut satırında:

* dir

Takma adları değiştirme

Windows PowerShell'de, Ayarlamak fiil ile kullanılabilir takma ad mevcut bir takma adı değiştirmek için cmdlet:

set-alias ci cls

Takma ad ci şimdi işaret edecek cls komut.

4DOS / 4NT kabuğunda, eset command mevcut bir takma adı düzenlemek için etkileşimli bir komut satırı sağlar:

eset / a cp

/ a takma ada neden olur cp aynı ada sahip bir ortam değişkeninin aksine düzenlenecek.

Takma adları kaldırma

Unix kabuklarında ve 4DOS / 4NT'de, takma adlar, takma adlar komut:

takma adlar kopya # Kopya takma adını kaldırırtakma adlar -a # -A anahtarı tüm diğer adları kaldırır; 4DOS / 4NT'de mevcut değil

unalias * # 4DOS / 4NT eşdeğeri "unalias -a" - joker karakterler desteklenir Windows PowerShell'de, takma ad şu takma addan kaldırılabilir: drive öğeyi kaldırmak:

öğeyi kaldırmak takma ad:ci  # Ci takma adını kaldırır

Özellikleri

Zincirleme

Bir takma ad genellikle yalnızca ilk kelimenin yerini alır. Ama bazı mermiler bash ve ksh, bir dizinin veya kelimelerin değiştirilmesine izin verin. Bu belirli özellik, işlev mekanizması aracılığıyla kullanılamaz.

Genel sözdizimi, ilk diğer adı takip eden bir boşluk karakteriyle tanımlamaktır. Örneğin, iki takma adı kullanarak:

takma ad liste="ls"      # zincirlemeyi tetiklemek için sondaki boşluğu not edintakma ad uzun='-Flas'    Uzun liste için ls'ye # seçenek

izin verir:

uzun dosyamı listele # çalıştırıldığında "ls -Flas myfile" olur

uzun bir liste için, burada "uzun" da bir takma ad olarak değerlendirilir.

Komut argümanları

İçinde C Kabuk, argümanlar dize kullanılarak komutun içine gömülebilir \!*. Örneğin, bu takma adla:

 takma ad daha-fazlası 'ls ! ​​* | Daha'

ls-more / etc / usr genişler ls / etc / usr | Daha Her ekrandan sonra duraklayarak / etc ve / usr dizinlerinin içeriğini listelemek için. Olmadan \!*,

 takma ad daha-fazlası 'ls | Daha'

bunun yerine genişler ls | daha / etc / usr dizinleri yanlış bir şekilde açmaya çalışan Daha.[4]

Bash ve Korn kabukları bunun yerine kabuk işlevlerini kullanın - bkz. § Alternatifler altında.

Alternatifler

Takma adlar genellikle basit tutulmalıdır. Basit olmayacaksa, tavsiye genellikle aşağıdakilerden birini kullanmaktır:

  • Kabuk betikleri, esasen yeni sistem komutları oluşturmak için tam yetenek sağlar.
  • Sembolik bağlantılar kullanıcının içinde PATH (gibi /çöp Kutusu). Bu yöntem, komutu çağırmanın ek bir yolunu sağlamak için kullanışlıdır ve bazı durumlarda, çalışma modunu seçmek için çağırma adlarını kullanan az sayıdaki komut için gömülü bir komut işlevine erişime izin verebilir.
  • Kabuk işlevleri, özellikle oluşturulan komutun dahili çalışma zamanı ortamı kabuğun kendisinin (örneğin Ortam Değişkenleri ), kabuğun akımını değiştirmesi gerekiyor çalışma dizini veya etkileşimli bir kabuk dışında herhangi bir şey için komut arama yolunda görünmelerini garanti edecek bir şekilde uygulanmalıdır (özellikle "daha güvenli" rm, cp, mv ve benzeri).

Bir komuta yalnızca birkaç seçenek ekleyen ve ardından komut satırının geri kalanını içeren en yaygın takma ad biçimi, bu modeli izleyerek kolayca kabuk işlevlerine dönüştürülebilir:

takma ad ll='ls -Flas'              # uzun liste, takma adll () { ls -Flas "$@" ; }        # uzun liste, işlev

Bir işlevin kendisini çağırmasını önlemek için tekrarlı, kullan komut:

ls () { komut ls --color=Oto "$@" ; }

Daha eski Bourne kabuklarında / bin / ls onun yerine komut ls.

Referanslar

  1. ^ "AmigaDOS hızlı başvurusu: Rügheimer, Hannes: Ücretsiz İndirme, Ödünç Alma ve Akış: İnternet Arşivi". İnternet Arşivi. 2020-06-10. Alındı 2020-09-12.
  2. ^ "EFI Kabukları ve Komut Dosyası". Intel. Alındı 2013-09-25.
  3. ^ IBM. "IBM System i Sürüm 7.2 Programlama Qshell" (PDF). Alındı 2020-09-05.
  4. ^ Bir komut diğer adına verilen bağımsız değişkenleri iletme örnekleri Arşivlendi 2012-11-25 Wayback Makinesi

daha fazla okuma

Dış bağlantılar