27Jul

Geek School: Învățarea variabilelor PowerShell, intrare și ieșire

click fraud protection

Pe măsură ce ne mișcăm de la pur și simplu rularea comenzilor și trecem la scrierea scripturilor pline, veți avea nevoie de un loc temporar pentru stocarea datelor. Aici intră variabilele.

Asigurați-vă că citiți articolele anterioare din seria:

  • Aflați cum să automatizați Windows cu PowerShell
  • Învățați să utilizați cmdlets în PowerShell
  • Învățați cum să utilizați obiecte în PowerShell
  • Învățați formatul, filtrarea și compararea învățăriiPowerShell
  • Aflați cum să utilizați remorcarea în PowerShell
  • Folosind PowerShell pentru a obține informații despre computer
  • Lucrul cu colecții în PowerShell

Și stați acordat pentru restul seriilor toată săptămâna. Variabile

Cele mai multe limbi de programare permit utilizarea variabilelor, care sunt pur și simplu containere care dețin valori.În PowerShell, și noi avem 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"

instagram viewer

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 dolar, ceea ce înseamnă că în exemplul de mai sus numele variabilelor este de fapt "FirstName".

În PowerShell, puteți vedea toate variabilele pe care le-ați creat în variabila PSDrive. Variabila

gci:

Ceea ce inseamna ca poti sterge o variabila din shell oricand:

Variabila de stergere: \ FirstName

Variabilele nu trebuie sa contina nici un obiect;puteți stoca la fel de ușor obiecte multiple într-o variabilă.De exemplu, dacă doriți să stocați o listă de procese în execuție î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 de a ne aminti că partea dreaptă a semnalului egal este întotdeauna evaluată mai întâi. Aceasta înseamnă că puteți avea o întreagă conductă pe partea dreaptă dacă doriți.

$ CPUHogs = Get-ProcessSortaț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 care trebuie să fie conștiente. 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 în variabilă, trebuie să îl tratați ca un matrice.

$ CPUHogs [0]

Făcând acest lucru vă veți 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ă captureze noi utilizatori la PowerShell tot timpul!

$ a = 10

$ b = '20'

Deci, avem două variabile, unul conține un șir și altul un întreg. Deci, ce se întâmplă dacă le adăugați? De fapt, depinde de ce ordine le adăugați.

$ a + $ b = 30

În timp ce

$ b + $ a = 2010

În primul exemplu, primul operand este un număr întreg, $ a, astfel încât PowerShell 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 prin plasarea variabilei la tipul pe care îl așteaptă.

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

Cele de mai sus vor avea ca rezultat atât variabila Number care conține un obiect integer cu o valoare 5.

Intrare și ieșire

Deoarece PowerShell este menit să automatizeze lucrurile, veți dori să evitați să solicitați utilizatorilor informații ori de câte ori este posibil. Cu asta am spus că vor exista momente în care nu puteți să le 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 ați introduce va fi apoi salvat în variabila.

Ieșirea de scriere este la fel de ușoară cu cmdletul Scriere-Ieșire.

Scrie-ieșire "How-To Geek Rocks!"

Alăturați-ne mâine unde le legăm tot ce am învățat împreună!