Școala Geek Învățarea variabilelor PowerShell, intrare și ieșire
Pe măsură ce ne mișcăm de la pur și simplu rularea comenzilor și trecem la scrierea de scripturi pline, veți avea nevoie de un loc temporar pentru a stoca date. Aici intră variabilele.
Asigurați-vă că citiți articolele anterioare din seria:
- Aflați cum să automatizați Windows cu PowerShell
- Învățarea de a folosi Cmdlets în PowerShell
- Învățați cum să utilizați obiecte în PowerShell
- Formatul de învățare, filtrarea și compararea în PowerShell
- Aflați cum să utilizați Remoting în PowerShell
- Folosind PowerShell pentru a obține informații despre computer
- Lucrul cu colecțiile din PowerShell
Și stați pe toată săptămâna pentru restul seriei.
variabile
Cele mai multe limbi de programare permit utilizarea variabilelor, care sunt pur și simplu containere care dețin valori. În PowerShell, avem și variabile și sunt foarte ușor de utilizat. Iată cum să creați o variabilă numită "FirstName" și să îi dați valoarea "Taylor".
$ FirstName = "Taylor"
Primul lucru pe care majoritatea oamenilor par să îl întrebe este motivul pentru care am introdus un semn de dolar în fața numelui variabilelor și aceasta este de fapt o întrebare foarte bună. Într-adevăr, semnul dolarului este doar un indiciu al cochiliei că vrem să accesăm conținutul variabilei (gândiți-vă ce este în interiorul containerului) și nu containerul în sine. În PowerShell, numele variabilelor nu includ semnul dolarului, ceea ce înseamnă că în exemplul de mai sus numele de variabile este de fapt "FirstName".
În PowerShell, puteți vedea toate variabilele pe care le-ați creat în variabila PSDrive.
variabila gci:
Ceea ce înseamnă că puteți șterge și o variabilă din shell în orice moment:
Eliminați variabila elementului: \ FirstName
Variabilele nu trebuie să conțină nici un singur obiect; puteți stoca la fel de ușor cu mai multe obiecte într-o variabilă. De exemplu, dacă doriți să stocați o listă de procese care rulează într-o variabilă, puteți să o atribuiți ieșirii procesului Get-Process.
$ Proc = Get-Process
Trucul pentru a înțelege acest lucru este să ne amintim că partea dreaptă a semnalului egal este întotdeauna evaluată mai întâi. Acest lucru înseamnă că puteți avea o întreagă conductă pe partea dreaptă dacă doriți.
$ CPUHogs = Obțineți proces. | Sortați CPU -Descărcarea | selectați -Prima 3
Variabila CPUHogs va conține acum cele trei procese care rulează utilizând cele mai multe procesoare.
Când aveți o variabilă care deține o colecție de obiecte, există câteva lucruri de care trebuie să știți. De exemplu, apelarea unei metode pe variabila va determina să fie apelată pe fiecare obiect din colecție.
$ CPUHogs.Kill ()
Care ar ucide toate cele trei procese din colecție. Dacă doriți să accesați un singur obiect din variabila, trebuie să îl tratați ca un matrice.
$ CPUHogs [0]
A face acest lucru vă va da primul obiect din colecție.
Nu te prinde!
Variabilele din PowerShell sunt tastate slab în mod implicit, ceea ce înseamnă că pot conține orice fel de date, acest lucru pare să prindă noi surse la PowerShell tot timpul!
$ a = 10
$ b = '20'
Deci, avem două variabile, unul conține un șir și altul un număr întreg. Ce se întâmplă dacă le adăugați? De fapt depinde de ce ordine le adăugați.
$ a + $ b = 30
In timp ce
$ b + $ a = 2010
În primul exemplu, primul operand este un întreg, $ a, deci PowerShell crede că crede că încerci să faci matematică și, prin urmare, încearcă să convertești orice alt operand în întregi. Cu toate acestea, în al doilea exemplu, primul operand este un șir, astfel încât PowerShell doar convertește restul operanților în șiruri de caractere și le conectează. Scriptorii mai avansați împiedică acest tip de cuprindere variabilă la tipul pe care îl așteaptă.
[int] $ Number = 5
[int] $ Number = '5'
Cele de mai sus vor conduce la variabila Număr care conține un obiect întreg cu o valoare de 5.
Intrare și ieșire
Deoarece PowerShell este destinat să automatizeze lucrurile, veți dori să evitați să îi solicitați utilizatorilor informații ori de câte ori este posibil. Cu asta a spus că vor exista momente în care nu puteți să o evitați și pentru acele vremuri avem cmdlet-ul Read-Host. Folosirea este foarte simplu:
$ FirstName = Read-Host -Prompt 'Introduceți-vă primul nume'
Orice introduceți va fi apoi salvat în variabilă.
Scrierea de ieșire este la fel de simplă cu cmdletul Write-Output.
Scrie-ieșire "How-To Geek Rocks!"
Alăturați-vă mâine unde ne legăm tot ce am învățat împreună!