/ / Geek-koulu: PowerShell-muuttujien, tulo- ja lähtöoppien oppiminen

Geek-koulu: PowerShell-muuttujien, tulo- ja lähtöoppien oppiminen

Kun siirrymme pois pelkästään komentojen suorittamisesta ja kirjoitamme täydellisiä komentoja, tarvitset väliaikaisen paikan tietojen tallennukseen. Tässä muuttujat tulevat sisään.

Muista lukea sarjan aiemmat artikkelit:

  • Opi kuinka automatisoida Windows PowerShellin avulla
  • Cmdlettien käytön oppiminen PowerShellissä
  • Objektien käytön oppiminen PowerShellissä
  • Alustuksen, suodattamisen ja vertailun oppiminen PowerShellissä
  • Opi käyttämään etäkäyttöä PowerShellissä
  • PowerShellin käyttäminen tietokoneiden tietojen hankkimiseen
  • Työskentely kokoelmien kanssa PowerShellissä

Ja pysy kuulolla koko viikon ajan.

muuttujat

Useimmat ohjelmointikielet sallivatmuuttujat, jotka ovat yksinkertaisesti kontteja, joilla on arvoja. PowerShellissä meilläkin on muuttujia ja niitä on todella helppo käyttää. Näin luodaan muuttuja nimeltä FirstName ja annetaan sille arvo Taylor.

$ FirstName = “Taylor”

Ensimmäinen asia, jota useimmat ihmiset kysyvät, on miksi melaita dollarimerkki muuttujien nimen eteen, ja se on oikeastaan ​​erittäin hyvä kysymys. Todellakin, dollarimerkki on vain pieni vihje kuorelle, että haluamme käyttää muuttujan sisältöä (ajattele, mikä on säiliön sisällä) eikä itse säiliötä. PowerShellissä muuttujien nimet eivät sisällä dollarimerkkiä, mikä tarkoittaa, että yllä olevassa esimerkissä muuttujien nimi on oikeastaan ​​”Etunimi”.

PowerShellissä voit nähdä kaikki muuttujat, jotka olet luonut muuttujaan PSDrive.

gci-muuttuja:

kuva

Mikä tarkoittaa, että voit myös poistaa muuttujan kuoresta milloin tahansa:

Poista esine -muuttuja: Etunimi

Muuttujien ei tarvitse sisältää yhtä kohdettajompikumpi; voit yhtä helposti tallentaa useita objekteja muuttujaan. Jos esimerkiksi haluat tallentaa luettelon käynnissä olevista prosesseista muuttujasta, voit vain määrittää sille Get-Process-tulosteen.

$ Proc = Hanki prosessi

Temppu ymmärtää tämä on muistaaettä yhtäläisyysmerkin oikeaa puolta arvioidaan aina ensin. Tämä tarkoittaa, että sinulla voi olla koko putkilinja oikealla puolella, jos haluat.

$ CPUHogs = Hanki prosessi | Lajittele CPU-alenevana | valitse -Ensimmäinen 3

CPUHogs-muuttuja sisältää nyt kolme käynnissä olevaa prosessia, joissa käytetään eniten CPU: ta.

kuva

Kun sinulla on muuttuja, jolla on kokoelmaesineistä, on joitain asioita, jotka on tietoinen. Esimerkiksi menetelmän kutsuminen muuttujalle aiheuttaa sen kutsumisen jokaiselle kokoelman objektille.

$ CPUHogs.Kill ()

Mikä tappaisi kaikki kolme kokoelman prosessia. Jos haluat käyttää yhtä muuttujan objektia, sinun on käsiteltävä sitä kuin taulukkoa.

$ CPUHogs [0]

Tämän tekeminen antaa sinulle ensimmäisen esineen kokoelmassa.

kuva

Älä saa kiinni!

PowerShell-muuttujat ovat tyypillisesti heikosti kirjoitettuja, mikä tarkoittaa, että ne voivat sisältää kaikenlaista tietoa. Tämä näyttää saavan uusia tulokkaita PowerShelliin koko ajan!

a = 10

b $ = '20'

Joten meillä on kaksi muuttujaa, toinen sisältää merkkijonon ja toinen kokonaisluvun. Joten mitä tapahtuu, jos lisäät ne? Se todella riippuu siitä, missä järjestyksessä lisäät ne.

$ a + $ b = 30

Sillä aikaa

b + $ a = 2010

Ensimmäisessä esimerkissä ensimmäinen operandi onkokonaisluku, $ a, joten PowerShellin mielestä yrität tehdä matematiikkaa ja yrittää siksi muuntaa kaikki muut operandit myös kokonaislukuiksi. Toisessa esimerkissä ensimmäinen operandi on kuitenkin merkkijono, joten PowerShell muuntaa loput operandit jousiksi ja yhdistää ne. Edistyneemmät käsikirjoittajat estävät tällaista getchaa heittämällä muuttujan odotetulle tyypille.

[int] $ numero = 5
[int] dollarinumero = '5'

Yllä oleva johtaa kumpaankin numeromuuttujaan, joka sisältää kokonaislukuobjektin, jonka arvo on 5.

Tulo ja lähtö

Koska PowerShell on tarkoitettu automatisoimaan asioita,sinun tulee välttää pyytämästä käyttäjiä tietoja aina kun mahdollista. Tästä huolimatta on aikoja, joissa et voi välttää sitä, ja niille aikoihin meillä on Read-Host-cmdlet. Sen käyttö on todella yksinkertaista:

$ FirstName = Lue-isäntä - Hyväksy 'Kirjoita etunimesi'

kuva

Mitä kirjoitat, se tallennetaan muuttujaan.

kuva

Kirjoittaminen on yhtä helppoa Write-Output-cmdlet-sovelluksen avulla.

Kirjatulos “How-To Geek Rocks!”

kuva

Liity huomenna, kun sidotaan kaikki opittu yhdessä!