Geek School Learning Variabel PowerShell, Input dan Output
Saat kami beralih dari hanya menjalankan perintah dan beralih ke penulisan skrip penuh, Anda akan membutuhkan tempat sementara untuk menyimpan data. Di sinilah variabel masuk.
Pastikan untuk membaca artikel sebelumnya dalam seri ini:
- Pelajari Cara Mengotomatiskan Windows dengan PowerShell
- Belajar Menggunakan Cmdlet di PowerShell
- Mempelajari Cara Menggunakan Objek di PowerShell
- Belajar Memformat, Memfilter, dan Membandingkan di PowerShell
- Belajar Menggunakan Remoting di PowerShell
- Menggunakan PowerShell untuk Mendapatkan Informasi Komputer
- Bekerja dengan Koleksi di PowerShell
Dan tetap disini selama sisa seri sepanjang minggu.
Variabel
Sebagian besar bahasa pemrograman memungkinkan penggunaan variabel, yang hanya merupakan wadah yang menyimpan nilai. Di PowerShell, kami juga memiliki variabel dan sangat mudah digunakan. Berikut adalah cara membuat variabel yang disebut "Nama Depan" dan memberinya nilai "Taylor".
$ FirstName = "Taylor"
Hal pertama yang tampaknya ditanyakan kebanyakan orang adalah mengapa kita meletakkan tanda dolar di depan nama variabel, dan itu sebenarnya pertanyaan yang sangat bagus. Sungguh, tanda dolar hanyalah sedikit petunjuk ke shell bahwa kita ingin mengakses isi variabel (pikirkan apa yang ada di dalam wadah) dan bukan wadah itu sendiri. Di PowerShell, nama variabel tidak termasuk tanda dolar, yang berarti bahwa dalam contoh di atas nama variabel sebenarnya "Nama Depan".
Di PowerShell, Anda bisa melihat semua variabel yang Anda buat di variabel PSDrive.
variabel gci:
Yang berarti Anda juga dapat menghapus variabel dari shell kapan saja:
Variabel Remove-Item: \ FirstName
Variabel tidak harus mengandung objek tunggal juga; Anda bisa dengan mudah menyimpan banyak objek dalam suatu variabel. Misalnya, jika Anda ingin menyimpan daftar proses yang berjalan dalam suatu variabel, Anda bisa menetapkannya sebagai output dari Get-Process.
$ Proc = Dapatkan-Proses
Trik untuk memahami ini adalah untuk mengingat bahwa sisi kanan tanda sama dengan selalu dievaluasi terlebih dahulu. Ini berarti bahwa Anda dapat memiliki seluruh pipa di sisi kanan jika Anda mau.
$ CPUHogs = Dapatkan-Proses | Sortir CPU -Penurunan | pilih -Pertama 3
Variabel CPUHogs sekarang akan berisi tiga proses yang berjalan menggunakan CPU terbanyak.
Ketika Anda memiliki variabel yang memegang koleksi objek, ada beberapa hal yang harus diperhatikan. Misalnya, memanggil metode pada variabel akan menyebabkannya dipanggil pada setiap objek dalam koleksi.
$ CPUHogs.Kill ()
Yang akan membunuh ketiga proses dalam koleksi. Jika Anda ingin mengakses objek tunggal dalam variabel, Anda harus memperlakukannya seperti sebuah array.
$ CPUHogs [0]
Melakukan itu akan memberi Anda objek pertama dalam koleksi.
Jangan Tertangkap!
Variabel di PowerShell diketik dengan lemah secara default artinya mereka dapat berisi segala jenis data, ini sepertinya menarik pendatang baru ke PowerShell sepanjang waktu!
$ a = 10
$ b = '20'
Jadi kita memiliki dua variabel, satu berisi string dan lainnya merupakan integer. Jadi apa yang terjadi jika Anda menambahkannya? Ini sebenarnya tergantung pada urutan Anda menambahkannya.
$ a + $ b = 30
Sementara
$ b + $ a = 2010
Dalam contoh pertama, operan pertama adalah bilangan bulat, $ a, jadi PowerShell berpikir berpikir bahwa Anda mencoba melakukan matematika dan karenanya mencoba untuk mengubah operan lain menjadi bilangan bulat juga. Namun, dalam contoh kedua operan pertama adalah string, jadi PowerShell hanya mengubah sisa operan menjadi string dan menggabungkannya. Script yang lebih maju mencegah gotcha jenis ini dengan melemparkan variabel ke tipe yang mereka harapkan.
[int] $ Number = 5
[int] $ Number = '5'
Hal di atas akan menghasilkan variabel Number yang berisi objek integer dengan nilai 5.
Masukan dan keluaran
Karena PowerShell dimaksudkan untuk mengotomatiskan hal-hal, Anda akan ingin menghindari meminta pengguna untuk informasi sedapat mungkin. Dengan mengatakan itu, akan ada saat-saat di mana Anda tidak dapat menghindarinya, dan untuk saat-saat itu kami memiliki cmdlet Read-Host. Menggunakannya sangat sederhana:
$ FirstName = Read-Host -Prompt 'Masukkan nama depan Anda'
Apa pun yang Anda masukkan akan disimpan dalam variabel.
Menulis output sama mudahnya dengan cmdlet Write-Output.
Tulis-Keluaran “How-To Geek Rocks!”
Bergabunglah dengan kami besok di mana kami mengikat semua yang telah kami pelajari bersama!