If-Koubou

Geek School: Mempelajari Variabel PowerShell, Input, dan Output

Geek School: Mempelajari Variabel PowerShell, Input, dan Output (Bagaimana caranya)

Saat kita beralih dari hanya menjalankan perintah dan beralih ke penulisan skrip yang sepenuhnya meledak, Anda akan membutuhkan tempat sementara untuk menyimpan data. Di sinilah variabel masuk.

Pastikan untuk membaca artikel sebelumnya dalam rangkaian:

  • Pelajari Cara Mengotomatiskan Windows dengan PowerShell
  • Belajar Menggunakan Cmdlet di PowerShell
  • Mempelajari Cara Menggunakan Objek di PowerShell
  • Belajar Memformat, Memfilter dan Membandingkan dalam PowerShell
  • Belajar Menggunakan Remoting di PowerShell
  • Menggunakan PowerShell untuk Mendapatkan Informasi Komputer
  • Bekerja dengan Koleksi di PowerShell

Dan nantikan terus sisa serial ini sepanjang minggu.

Variabel

Sebagian besar bahasa pemrograman memungkinkan penggunaan variabel, yang merupakan wadah yang menyimpan nilai. Di PowerShell, kami juga memiliki variabel dan mereka sangat mudah digunakan. Berikut ini adalah cara membuat variabel yang disebut "FirstName" dan memberinya nilai "Taylor".

$ FirstName = "Taylor"

Hal pertama yang kebanyakan orang tampaknya tanyakan adalah mengapa kita meletakkan tanda dolar di depan nama variabel, dan itu sebenarnya pertanyaan yang sangat bagus. Sungguh, tanda dolar hanya sedikit petunjuk ke shell yang kita ingin mengakses isi variabel (pikirkan apa yang ada di dalam wadah) dan bukan wadah itu sendiri. Di PowerShell, nama variabel tidak menyertakan tanda dolar, yang berarti bahwa dalam contoh di atas nama variabel sebenarnya adalah "Nama Depan".

Di PowerShell, Anda dapat melihat semua variabel yang telah Anda buat di variabel PSDrive.

variabel gci:

Yang berarti Anda dapat menghapus variabel dari shell kapan saja juga:

Hapus-Item Variabel: \ FirstName

Variabel tidak harus mengandung satu objek juga; Anda bisa dengan mudah menyimpan beberapa objek dalam sebuah variabel. Misalnya, jika Anda ingin menyimpan daftar proses yang sedang berjalan dalam variabel, Anda dapat menetapkannya sebagai output dari Get-Process.

$ Proc = Dapatkan-Proses

Trik untuk memahami ini adalah dengan mengingat bahwa sisi kanan dari tanda yang sama selalu dievaluasi terlebih dahulu. Ini berarti Anda dapat memiliki seluruh saluran pipa di sisi kanan jika Anda mau.

$ CPUHogs = Dapatkan-Proses | Urutkan CPU -Descending | pilih -Pertama 3

Variabel CPUHogs sekarang akan berisi tiga proses yang berjalan menggunakan CPU paling banyak.

Ketika Anda memiliki variabel 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 satu objek dalam variabel, Anda perlu memperlakukannya seperti larik.

$ CPUHogs [0]

Melakukan hal itu akan memberi Anda objek pertama dalam koleksi.

Jangan Tertangkap!

Variabel di PowerShell diketik lemah secara default yang berarti mereka dapat berisi semua jenis data, ini tampaknya menangkap pendatang baru ke PowerShell sepanjang waktu!

$ a = 10

$ b = '20'

Jadi kita memiliki dua variabel, satu berisi string dan yang lainnya merupakan integer. Jadi apa yang terjadi jika Anda menambahkannya? Ini sebenarnya tergantung pada urutan mana Anda menambahkannya.

$ a + $ b = 30

Sementara

$ b + $ a = 2010

Dalam contoh pertama, operan pertama adalah integer, $ a, sehingga PowerShell berpikir bahwa Anda mencoba melakukan matematika dan karena itu mencoba untuk mengonversi operan lain ke dalam bilangan bulat juga. Namun, dalam contoh kedua operan pertama adalah string, sehingga PowerShell hanya mengonversi sisa operand ke string dan menggabungkannya. Scripters yang lebih maju mencegah gotcha jenis ini dengan mentransmisikan variabel ke tipe yang mereka harapkan.

[int] $ Number = 5
[int] $ Number = '5'

Di atas keduanya akan menghasilkan variabel Angka yang berisi objek bilangan bulat dengan nilai 5.

Masukan dan keluaran

Karena PowerShell dimaksudkan untuk mengotomatiskan hal-hal, Anda akan ingin menghindari mendorong pengguna untuk informasi sedapat mungkin. Dengan demikian, akan ada saat-saat di mana Anda tidak dapat menghindarinya, dan untuk saat-saat itu kita memiliki cmdlet Read-Host. Menggunakannya sangat sederhana:

$ FirstName = Read-Host -Prompt 'Masukkan nama depan Anda'

Apa pun yang Anda masukkan kemudian akan disimpan dalam variabel.

Menulis output sama mudahnya dengan cmdlet Menulis-Output.

Menulis-Output "How-To Geek Rocks!"

Bergabunglah dengan kami besok di mana kami mengikat semua yang telah kami pelajari bersama!