PowerShell - Çok Satırlı Komut [Örneklerle]
PowerShell çok satırlı komut, okunabilirlik sağlamak amacıyla komutların birden çok ifadeye bölünmesine yardımcı olur.
Okunabilir kod, işlevsellik amacını kullanıcılara çok kolay bir şekilde iletir. Kodun okunabilirliği için değişken adları ve yöntem adlarının uygun adlandırma kurallarına sahip olması gerekir.
Kodun okunabilirliğine katkıda bulunan diğer özellikler, kod için tutarlı girinti ve biçimlendirme stilidir.
PowerShell'de çok satırlı komut, uzun veya tek satırlı bir komutu çok satırlı ifadelere bölmek için ` (geri tıklama karakteri) kullanılarak kolayca oluşturulabilir.
Geri tıklama (`) karakteri kaçış karakteri olarak kullanılır, temel olarak yeni satır karakterinden kaçar ve satırın devamı ile sonuçlanır.
Bu makalede, uzun komutları birden çok satıra bölmek için PowerShell çok satırlı komutunun nasıl kullanılacağını tartışacağız.
PowerShell Çok Satırlı Komut
Uzun komutu birden çok satıra bölmek için, komutta onu birden çok satıra bölmek istediğiniz yerde geri tıklama (`) karakterini kullanın.
Bir örnek ele alalım, yerel bir bilgisayarda boş disk alanı elde etmek istiyoruz, adın okunmasını ve yönetilmesini oldukça zorlaştıran uzun bir komuttur.
Aşağıdaki komutta satır sonu için ` (PowerShell geri tıklama karakteri) kullanarak uzun komutları kolayca birden fazla satıra bölebiliriz.
Get-CimInstance -ComputerName localhost win32_logicaldisk | where caption -eq "C:" | foreach-object {write " $($_.caption) $('{0:N2}' -f ($_.Size/1gb)) GB total, $('{0:N2}' -f ($_.FreeSpace/1gb)) GB free "}Komutta satır sonu için ` (PowerShell geri tıklama karakteri) kullanıldıktan sonra kolayca okunabilir
Get-CimInstance -ComputerName localhost win32_logicaldisk `
| where caption -eq "C:" `
| foreach-object {write " $($_.caption) $('{0:N2}' `
-f ($_.Size/1gb)) GB total, $('{0:N2}' `
-f ($_.FreeSpace/1gb)) GB free "}Yukarıdaki örnekte, uzun komutu, bölmek istediğimiz yerin sonunda boşluk ve ardından ` (geri tıklama karakteri) kullanarak birden çok satıra böldük.
Çok satırlı komutu kullanarak PowerShell'de kolayca okunabilir ve bakımı kolaydır.
Harika İpucu: PowerShell'deki bilgisayarların listesine ping işlemi yapmak için Bağlantıyı Test Et'i kullanın!
Açıklamalı PowerShell çok satırlı komutu
PowerShell komut dosyası oluşturmada, komut veya işlev hakkında ayrıntılı bilgi sağlamak veya orijinal kodu test amacıyla yorumlamak için koda yorumlar ekleriz ve test kodunu kullanırız.
PowerShell'de yorum içeren çok satırlı komutlar, kodda <# comment #> kullanılarak kolayca eklenebilir.
Aşağıdaki gibi birden çok satıra bölmek ve komut dosyasına yorum eklemek için uzun komutla bunu anlayalım.
Get-CimInstance -ComputerName localhost win32_logicaldisk | where caption -eq "C:" | foreach-object {write " $($_.caption) $('{0:N2}' -f ($_.Size/1gb)) GB total, $('{0:N2}' -f ($_.FreeSpace/1gb)) GB free "}Yukarıdaki PowerShell betiğinde, ` (geri tıklama karakteri) kullanılarak birden fazla satıra bölünmesi gereken uzun bir komuttur. Örnekte, C sürücüsü için boş disk alanı elde ediliyor.
Harika İpucu: PowerShell'de bu sistemde komut dosyasının çalıştırılmasının devre dışı bırakılmasını düzeltin!
Çok satırlı komut için where caption -eq "C:" kodumuzu yorumlayıp, Where caption -eq "D:" kullanmamız gerektiğini düşünelim.
Get-CimInstance -ComputerName localhost win32_logicaldisk `
<# | where caption -eq "C:" ` #> `
| where caption -eq "D:" `
| foreach-object {write " $($_.caption) $('{0:N2}' `
-f ($_.Size/1gb)) GB total, $('{0:N2}' `
-f ($_.FreeSpace/1gb)) GB free "}Yukarıdaki PowerShell çok satırlı komut örneğinde, PowerShell'in `geri tıklama karakteri, uzun komutu çok satırlı komut üzerinden böler ve <# comment #> çok satırlı yorum çıkış kodunu kullanır.
Çok Satırlı Komutu Tek Satırda Yürütün
PowerShell'de çok satırlı komutu tek satırda yürütmek için her komutun ardından noktalı virgül (;) kullanın.
Tek satırda birden fazla komut çalıştırmak için aşağıdaki örneği ele alalım.
Write-Host "Get File version";$fileversion =(Get-Command D:\PowerShell\ShellWatcher.dll).FileVersionInfo.FileVersion;Write-Host "File version -" $fileversion Yukarıdaki PowerShell çoklu komut örneğinde, noktalı virgülle (;) ayrılmış 3 komut vardır.
Bu komutlar sırayla yürütülür, mesajı yazdırır ve dosya sürümünü alır ve çıktıyı aşağıdaki gibi yazdırır.
Komutları zincirlemek ve koşullara göre yürütmek için boru operatörünü (|) de kullanabilirsiniz.
Örneğin, reklam grubu üyelerini aktif dizinden alın ve grup üyelerini CSV dosyasına aktarın, aşağıdaki birden fazla komutu tek satırda dikey çizgi operatörüyle ayırarak kullanın
Get-AdGroupMember -Identity 'Administrators' | Export-csv -Path D:\Powershell\adgroupmemers.csv -NoTypeInformationYukarıdaki PowerShell betiğinde, ilk komut Get-AdGroupMember cmdlet'ini kullanarak Yönetici grubu için reklam grubu üyelerini alır ve çıktıyı kanal operatörünü kullanarak ikinci komuta iletir.
İkinci komut, reklam grubu üyelerini bir CSV dosyasına aktarmak için Export-Csv cmdlet'ini kullanır.
Harika İpucu: PowerShell'de bir dizeye veya değişkene yeni bir satır nasıl eklenir?
Dockerfile'da PowerShell Çok Satırlı Komut
PowerShell'de çok satırlı docker run komutunu çalıştırmak için Dockerfile'daki her satırın sonundaki geri tıklama (`) karakterini kullanın.
örneğin, Dockerfile'ın altında çok satırlı docker çalıştırma komutu gösterilmektedir
docker run -p 80:8080 -p 443:443 `
-h hostname.domain `
-e "MYSQL_ROOT_PASSWORD=password" `Çözüm
Umarım Powershell çok satırlı komutuyla ilgili yukarıdaki makaleyi faydalı ve eğitici yorumlarla bulmuşsunuzdur.
` (geri tıklama karakteri) kullanarak, uzun komut birden fazla satıra bölünür ve <# comment #> kullanarak çok satırlı komuta yorumlar ekleyebiliriz.
PowerShell'de çok satırlı bir dizenin nasıl oluşturulacağı hakkında burayı okuyun!
PowerShell Active Directory komutları ve PowerShell temelleri hakkında daha fazla konuyu ShellGeek ana sayfasında bulabilirsiniz.
