Geek mokyklos mokymosi „PowerShell“ kintamieji, įvestis ir išėjimas
Kai pereisime nuo paprasčiausių komandų vykdymo ir pereisime prie rašytinių scenarijų rašymo, jums reikės laikinos vietos duomenų saugojimui. Čia atsiranda kintamieji.
Būtinai perskaitykite ankstesnius serijos straipsnius:
- Sužinokite, kaip automatizuoti „Windows“ su „PowerShell“
- Mokymasis naudoti „Cmdlet“ „PowerShell“
- Mokymasis naudotis objektais „PowerShell“
- Mokymosi formatavimas, filtravimas ir palyginimas „PowerShell“
- Sužinokite, kaip naudoti „Remoting“ „PowerShell“
- „PowerShell“ naudojimas kompiuterio informacijai gauti
- Darbas su kolekcijomis „PowerShell“
Visą savaitę laikykitės likusios serijos.
Kintamieji
Dauguma programavimo kalbų leidžia naudoti kintamuosius, kurie yra tiesiog konteineriai, turintys reikšmes. „PowerShell“ mes taip pat turime kintamųjų ir jie yra labai paprasti naudoti. Štai kaip sukurti kintamąjį „FirstName“ ir suteikti jam vertę „Taylor“.
$ FirstName = „Taylor“
Pirmas dalykas, kurį dauguma žmonių klausia, yra tai, kodėl prieš kintamųjų pavadinimą dedame dolerio ženklą, ir tai iš tikrųjų yra labai geras klausimas. Tikrai, dolerio ženklas yra tik šiek tiek užuomina, kad mes norime pasiekti kintamojo turinį (pagalvokite, kas yra konteinerio viduje), o ne pats konteineris. „PowerShell“ kintamųjų pavadinimuose nėra dolerio ženklo, tai reiškia, kad pirmiau pateiktame pavyzdyje kintamųjų pavadinimas iš tikrųjų yra „FirstName“.
„PowerShell“ galite matyti visus kintamuosius, kuriuos sukūrėte kintamajame PSDrive.
gci kintamasis:
Tai reiškia, kad bet kuriuo metu galite ištrinti kintamąjį iš apvalkalo:
Pašalinti elementą kintamasis: Vardas
Kintamieji neturi turėti vieno objekto; jūs galite taip pat lengvai saugoti kelis objektus kintamajame. Pvz., Jei norite išsaugoti veikiančių procesų sąrašą kintamajame, galite tiesiog priskirti jį „Get-Process“ rezultatui.
$ Proc = Gauti procesas
Tai suprantama gudrybė yra prisiminti, kad dešinėje pusėje esančių ženklų pusė visada vertinama pirmiausia. Tai reiškia, kad jūs galite turėti visą vamzdyną dešinėje pusėje, jei norite.
$ CPUHogs = Gauti procesą Rūšiuoti CPU -Descent | pasirinkite -First 3
CPUHogs kintamasis dabar susideda iš trijų veikiančių procesų, naudojant daugelį procesorių.
Kai turite kintamąjį, turintį objektų kolekciją, yra keletas dalykų, apie kuriuos reikia žinoti. Pvz., Skambinant metodu kintamajame, jis bus pakviestas į kiekvieną kolekcijos objektą.
$ CPUHogs.Kill ()
Kuris nužudytų visus tris rinkimo procesus. Jei kintamajame norite pasiekti vieną objektą, jį reikia apdoroti kaip masyvą.
$ CPUHogs [0]
Tai duos jums pirmą kolekcijos objektą.
Negalima sugauti!
„PowerShell“ kintamieji yra silpnai įvesti pagal numatytąją reikšmę, tai reiškia, kad jie gali turėti bet kokio tipo duomenis, tai atrodo, kad „PowerShell“ visą laiką gauna naujus dalyvius!
$ a = 10
$ b = '20'
Taigi mes turime du kintamuosius, vienas - eilutė ir kitas sveikasis skaičius. Taigi, kas atsitiks, jei pridėsite juos? Iš tikrųjų tai priklauso nuo to, kokia tvarka juos įtraukiate.
$ a + $ b = 30
Nors
$ b + $ a = 2010
Pirmajame pavyzdyje pirmasis operandas yra sveikasis skaičius, $ a, todėl „PowerShell“ mano, kad manote, kad bandote atlikti matematiką ir todėl bandote konvertuoti bet kuriuos kitus operandus į sveikus skaičius. Tačiau antrajame pavyzdyje pirmasis operandas yra eilutė, todėl „PowerShell“ tiesiog konvertuoja likusias operandas į eilutes ir jas susieja. Pažangesnieji scenarijai užkerta kelią tokiam „gotcha“ tipui, nukreipdami kintamąjį į tipą, kurio jie tikisi.
[int] $ Number = 5
[int] $ Number = '5'
Pirmiau nurodytu būdu skaičiaus kintamasis, kuriame yra sveikasis skaičius objektas, kurio vertė yra 5.
Įėjimas ir išėjimas
Kadangi „PowerShell“ yra skirta automatizuoti daiktus, jūs norėsite vengti, kad naudotojai būtų informuojami, kai tik įmanoma. Tuo sakant, bus laikas, kai negalėsite to išvengti, ir tuos laikus mes turime „Read-Host“ cmdletą. Naudojant tai tikrai paprasta:
$ FirstName = Read-Host -Prompt 'Įveskite savo vardą'
Kad ir ką įvesite, jis bus išsaugotas kintamajame.
Rašymo išvestis yra tokia pat paprasta, kai rašoma išvesties cmdlet.
Rašymo išvestis „How-To Geek Rocks!“
Prisijunkite prie mūsų rytoj, kai susiejame viską, ką sužinojome kartu!