Kun siirrymme yksinkertaisista komennoista ja siirrymme kirjoittamaan täysipuhallusohjelmia, tarvitset väliaikaisen tiedon tallennuspaikan. Tässä muuttujat tulevat.
Muista lukea sarjan aiemmat artikkelit:
Ja pysy kuulolla koko sarjan koko viikon ajan.
Useimmat ohjelmointikielet sallivat muuttujien käytön, jotka ovat yksinkertaisesti kontteja, joilla on arvoja. PowerShellissä meillä on myös muuttujia ja ne ovat todella helppokäyttöisiä. Näin luodaan muuttuja nimeltä "FirstName" ja anna sille arvo "Taylor".
$ FirstName = "Taylor"
Ensinnäkin useimmat ihmiset näyttävät kysyvän, miksi me laittaamme dollarin merkki muuttujien nimen eteen, ja se on oikeastaan erittäin hyvä kysymys. Todellakin, dollarin merkki on vain pieni vihjeet kuoreen, että haluamme käyttää muuttujan sisältöä (mieti, mikä on säiliön sisällä) eikä itse säiliötä. PowerShellissä muuttujanimissä ei ole dollarin merkkiä, mikä tarkoittaa, että yllä olevassa esimerkissä muuttujien nimi on itse asiassa "FirstName".
PowerShellissä näet kaikki muuttujat, jotka olet luonut muuttujan PSDrive.
gci-muuttuja:
Mikä tarkoittaa, että voit myös poistaa muuttujan shellista milloin tahansa:
Poista-kohteen muuttuja: \ FirstName
Muuttujien ei tarvitse sisältää yhtä kohdetta; voit yhtä helposti tallentaa useita objekteja muuttujaan. Jos haluat esimerkiksi tallentaa muuttujan käynnissä olevien prosessien luettelon, voit määrittää sen vain Get-Prosen tuotoksi.
$ Proc = Get-Process
Huomion ymmärtäminen on muistaa, että yhtäläisen merkin oikea puoli arvioidaan aina ensin. Tämä tarkoittaa sitä, että voit halutessasi käyttää koko putkilinjan oikealla puolella.
$ CPUHogs = Get-Prosessi Lajittele CPU - laskeva | valitse -Ensimmäinen 3
CPUHogs-muuttuja sisältää nyt kolme käynnissä olevaa prosessia, joissa käytetään eniten keskusyksikköä.
Kun sinulla on muuttuja, jolla on esineiden kokoelma, on joitain asioita, jotka ovat tietoisia. Esimerkiksi, kun kutsutaan menetelmää muuttujaan, se kutsutaan sille kerrallaan.
$ CPUHogs.Kill ()
Mikä tappaa kaikki kolme prosessia kokoelmassa. Jos haluat käyttää yksittäistä objektia muuttujassa, sinun on kohdeltava sitä taulukon tavoin.
$ CPUHogs [0]
Tehdä tämä antaa sinulle kokoelman ensimmäisen objektin.
PowerShellin muuttujia on heikosti kirjoitettu oletusarvoisesti, mikä tarkoittaa, että ne voivat sisältää mitä tahansa tietoa, tämä näyttää uhkaavan uusia tulijoita PowerShelliin koko ajan!
$ a = 10
$ b = '20'
Joten meillä on kaksi muuttujaa, yksi sisältää merkkijonon ja toinen kokonaisluku. Joten mitä tapahtuu, jos lisäät ne? Se riippuu siitä, mihin järjestykseen lisätään.
$ a + $ b = 30
Sillä aikaa
$ b + $ a = 2010
Ensimmäisessä esimerkissä ensimmäinen operandi on kokonaisluku, $ a, joten PowerShell luulee ajattelevan, että yrität tehdä matematiikkaa ja yrittää siis muuntaa muut operandit kokonaislukuiksi. Toisessa esimerkissä ensimmäinen operandi on merkkijono, joten PowerShell muuntaa vain loput operandit merkkijonoksiin ja yhdistää ne. Kehittyneemmät kirjoittajat estävät tämäntyyppisen saksan valitsemalla muuttujan tyypille, jota he odottavat.
[int] $ numero = 5
[int] $ numero = '5'
Edellä oleva johtaa sekä numero-muuttujaan, joka sisältää kokonaislukuobjektin, jonka arvo on 5.
Koska PowerShellillä on tarkoitus automatisoida asioita, et halua välttää käyttäjiltä tietoja aina kun se on mahdollista. Siinä sanotaan, että on olemassa aikoja, jolloin et voi välttää sitä, ja niille aikoina meillä on Read-Host-cmdlet. Käyttämällä sitä on todella yksinkertainen:
$ FirstName = Read-Host -Prompt 'Anna etunimi'
Mitä tahansa syötetään sitten tallennetaan muuttujaan.
Kirjoitustulostus on yhtä helppo Write-Output-cmdletin kanssa.
Write-Output "How-To Geek Rocks!"
Liity meihin huomenna, jossa sitoudumme kaikki, mitä olemme oppineet yhdessä!