PowerShell Takma Adlandırma
Aliasing, herhangi bir komut satırıyla çalışmayı hızlandırmanın başlıca yollarından biridir.
Sık kullandığınız komutları yazmanızı ve ara sıra yazım hatası yapmanızı engelleyerek çalışmanızı birçok şekilde hızlandırabilir.
PowerShell'deki takma adlarla etkileşim kurmak için Alias ile biten komut ailesini kullanırız. Get-Help:'i kullanarak bunları kolayca alabilirsiniz.
PowerShell Aliasing Ex. 1:
Get-Help *Alias | Format-Table Name
Name
----
Get-Alias
New-Alias
Remove-AliasTakma Adlar Oluşturma
Yeni bir takma ad oluşturmak için Yeni-Alias komut setini kullanırız.
PowerShell Aliasing Ex. 2:
New-Alias -Name "ll" -Value "Get-ChildItem" -Description "Old Bash habbits never die"-Ad ve -Value gereklidir ve boşluk içermemelidir; açıklama isteğe bağlıdır ancak bu takma adı neden oluşturduğunuzu hatırlamanıza yardımcı olabilir.
Değer komut uygulamacıklarıyla sınırlı değildir; diskinizdeki yürütülebilir dosyaların tam yolunu sağlayarak da kullanabilirsiniz.
PowerShell Aliasing Ex. 3:
New-Alias -Name "python3" -Value "C:\Python3.6\python"
New-Alias -Name "nano" -Value "C:\Windows\notepad.exe"Komut uygulamalarına takma ad verirken, takma ad verilen komut uygulamasının tüm bayraklarını bile kullanabilirsiniz; takma ad -tab tamamlama işlemine başvururken de beklendiği gibi çalışacaktır.
Takma ad oluşturmaya çalışırken hatayla karşılaşırsanız, büyük ihtimalle bu adı kullanan bir takma ad zaten vardır. Üzerine yazmak için -Force anahtarını kullanabilirsiniz, ancak daha önce Get-Alias komutunu çalıştırarak mevcut takma adı araştırmanızı tavsiye ederim.
Takma Adları Görüntüleme
PowerShell birçok takma ad zaten etkinleştirilmiş olarak gelir; bunları Get-Alias komutunu çalıştırarak görüntüleyebilirsiniz. - Bu, geçerli oturumda etkinleştirilen tüm takma adları gösterir.
Takma adın -Tanımı veya -Adı gibi birden çok ölçüte göre ek filtreleme mümkündür. Her iki
parametre de joker karakterleri destekler; bu, örneğin Get- komut uygulamaları için herhangi bir takma ad bulmanıza olanak tanır.
PowerShell Aliasing Ex. 4:
Get-Alias -Definition "Get-*"Kalıcı Takma Adlar
Takma ad ayarlamak kalıcı bir işlem olmadığından, mevcut PowerShell oturumunuzu kapattığınızda şimdiye kadar yaptığımız her şey kaybolacaktır.
Bu nedenle profil dosyasında takma adlarımızı tanımlamak istiyoruz. Bunun nasıl çalıştığını öğrenmek istiyorsanız MS Belgelerindeki makaleyi okuyun.
Profilinizin içinde takma adlarınızı oluşturmak için etkileşimli oturumunuzdakiyle aynı komutu kullanabilirsiniz.
Oturumunuzda önceden oluşturmuş olabileceğiniz takma adları almak için geçmişinizi filtreleyebilirsiniz.
PowerShell Aliasing Ex. 5:
Get-History | Where-Object {$_.CommandLine -like "New-Alias*"}Topladığım yaygın takma adlardan ilham almak istiyorsanız yakın zamanda açtığım kişisel profilime göz atın.
Sınırlamalar
Takma adların ne yazık ki göze çarpan bir sınırlaması vardır; takma ad verdiğiniz komut uygulamasının parametrelerini, komut uygulamanızın değeri içinde kullanamazsınız.
Örneğin bu işe yaramayacaktır. Oluşturma sırasında herhangi bir hata olmayacak, ancak PowerShell'i çalıştırdığınızda komut uygulamasını bulamayacaksınız.
PowerShell Aliasing Ex. 6:
New-Alias -Name "lr" -Value "Get-ChildItem -Recurse"Bu duruma geçici bir çözüm bulmanın bir yolu vardır, ancak bu oldukça sınırlıdır, çünkü bu, sekmeyi tamamlama ve hatta diğer adı verilen komut uygulamasının sağlayabileceği diğer parametrelerden herhangi birini kullanma yeteneğini ortadan kaldırır.
PowerShell Aliasing Ex. 7:
function aliasLr {Get-ChildItem -Recurse}
New-Alias -Name "lr" -Value aliasLr
# This will not work
lr -Depth 2
Ne yazık ki bu sınırlamayı çözmenin bir yolunu bilmiyorum. Eğer öyleyse lütfen bana ulaşın; ilgilenen herkes için bunu eklemekten memnuniyet duyarım.
Ek: Bu makalenin yayınlanmasından kısa bir süre sonra, ScriptRunner'ın kendi Achim Wieser'ı bu sorun için sarmalayıcı olarak gelişmiş bir işlevin kullanımını içeren olası bir çözüm sağladı.
Yaklaşımının daha ayrıntılı bir açıklamasını Marco Kamners Blogunda bulabilirsiniz.
Takma Adlar Ne Zaman Kullanılmamalıdır?
Takma adlar günlük çalışmalarınızı hızlandırmanın harika bir yoludur, ancak uzun süreli kullanım veya dağıtım amaçlı komut dosyalarında kullanılmamalıdırlar.
En önemli sebep uyumluluk, yukarıda anlatıldığı gibi bir lr takma adınız olduğunu hayal edin ve bunu scriptlerinizde kullanın. Komut dosyanızı çalıştıran herkes, komut dosyasını çalıştırırken ve takma ada ulaştığınızda bir hata mesajıyla karşılaşacaktır.
PowerShell Aliasing Ex. 8:
lr
lr: The term 'lr' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.Daha da kötüsü, takma adın arkasında, tüm komut dosyasını bozan veya efektlerini değiştiren farklı bir komut olabilir.
Takma adlar kullanarak VSCode'da çalışmak, varsayılan olarak bir uyarı olarak gösterilir ve varsayılan ms-vscodepowershell uzantıları, kodunuzdaki takma adların çözümlenmesi için otomatik bir yol bile sağlar. komut çubuğunu açıp PowerShell: Alias'ı Genişlet yazarak.
Çözüm
Bu makalenin gösterdiği gibi, PowerShell takma adlarını kullanmak oldukça basittir ve yinelenen ve yinelenen görevleri işlerken zamandan tasarruf etmenin iyi bir yoludur. Benzer şekilde, belirli cmdlet'leri hatırlamanıza yardımcı olmak ve kişisel kullanım durumlarınızla çalışmayı kolaylaştırmak için takma adlar kullanabilirsiniz.
PowerShell ile günlük çalışmanızı nasıl geliştirebileceğinize dair daha fazla ipucuyla ilgileniyorsanız, Windows Sorunlarını Gidermek için En İyi 10 PowerShell Komutu hakkındaki makalemize mutlaka göz atın.
