If-Koubou

Geek-koulu: Learning PowerShell -muuttujat, syöttö ja tulostus

Geek-koulu: Learning PowerShell -muuttujat, syöttö ja tulostus (Miten)

Kun siirrymme yksinkertaisista komennoista ja siirrymme kirjoittamaan täysipuhallusohjelmia, tarvitset väliaikaisen tiedon tallennuspaikan. Tässä muuttujat tulevat.

Muista lukea sarjan aiemmat artikkelit:

  • Opi käyttämään automaattista Windowsia PowerShellillä
  • Learning käyttämään Cmdlets PowerShellissä
  • Oppiminen esineiden käyttämisessä PowerShellissä
  • Oppimisen muotoilu, suodatus ja vertailu PowerShellissä
  • Opi käyttämään etäisyyttä PowerShellissä
  • PowerShellin käyttäminen tietokoneen tietojen saantiin
  • PowerShellin kokoelmien käsittely

Ja pysy kuulolla koko sarjan koko viikon ajan.

muuttujat

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.

Älä mene kiinni!

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.

Tulo ja lähtö

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ä!