Kotisivu » miten » Geek School Learning PowerShell-muuttujat, tulo ja lähtö

    Geek School Learning PowerShell-muuttujat, tulo ja lähtö

    Kun siirrymme pois pelkästään komentojen suorittamisesta ja siirrymme täyteen puhallettujen komentosarjojen kirjoittamiseen, tarvitset väliaikaisen paikan tietojen tallentamiseksi. Tässä muuttujat tulevat sisään.

    Muista lukea sarjan aiemmat artikkelit:

    • Opi automatisoimaan Windows PowerShellillä
    • Oppiminen käyttämään Cmdlet-tiedostoja PowerShellissä
    • Opi käyttämään esineitä PowerShellissä
    • Oppimisen muotoilu, suodatus ja vertailu PowerShellissa
    • Opi käyttämään Remotingia PowerShellissä
    • PowerShellin käyttäminen tietokoneen tietojen saamisessa
    • Työskentely kokoelmien kanssa PowerShellissä

    Ja pysy kuulolla koko sarjan koko viikon ajan.

    muuttujat

    Useimmat ohjelmointikielet mahdollistavat muuttujien käytön, jotka ovat yksinkertaisesti kontteja, joilla on arvot. PowerShellissa meillä on myös muuttujia, ja niitä on helppo käyttää. Näin voit luoda muuttujan nimeltä "FirstName" ja antaa sille arvon "Taylor".

    $ FirstName = “Taylor”

    Ensimmäinen asia, jota useimmat ihmiset näyttävät kysyvän, on se, miksi panimme dollarin merkin muuttujien nimen eteen, ja se on todella hyvä kysymys. Todellakin, dollarin merkki 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ä. PowerShellissa muuttujien nimet eivät sisällä dollarin merkkiä, mikä tarkoittaa, että edellä olevassa esimerkissä muuttujien nimi on itse asiassa "FirstName".

    PowerShellissa näet kaikki muuttujat PSDrive luomasi muuttujat.

    gci muuttuja:

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

    Poista-kohde muuttuja:

    Muuttujien ei myöskään tarvitse sisältää yhtä kohdetta; voit yhtä hyvin tallentaa useita objekteja muuttujaan. Esimerkiksi, jos haluat tallentaa luettelon käynnissä olevista prosesseista muuttujaan, voit vain määrittää sen Get-Processin tuotokselle.

    $ Proc = Get-Process

    Tämän ymmärtämisen temppu on muistaa, että yhtäläisyyden merkin oikea puoli arvioidaan aina ensin. Tämä tarkoittaa, että voit saada koko putkilinjan oikealla puolella, jos haluat.

    $ CPUHogs = Get-Process | Lajittele CPU-poisto | valitse -First 3

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

    Kun sinulla on muuttuja, jolla on esineiden kokoelma, on joitakin asioita, joista on oltava tietoisia. Esimerkiksi menetelmän kutsuminen muuttujaan saa sen kutsumaan kutakin kokoelman kohdetta.

    $ CPUHogs.Kill ()

    Mikä tappaisi kaikki kolme prosessia kokoelmassa. Jos haluat käyttää yksittäistä kohdetta muuttujaan, sinun täytyy käsitellä sitä kuten taulukkoa.

    $ CPUHogs [0]

    Tämä antaa sinulle ensimmäisen kokoelman kohteen.

    Älä jää kiinni!

    Muuttujat PowerShellissa ovat oletusarvoisesti heikosti kirjoitettuja, mikä tarkoittaa, että ne voivat sisältää mitä tahansa dataa, tämä näyttää saavan uusia tulijoita PowerShelliin koko ajan!

    $ a = 10

    $ b = '20'

    Joten meillä on kaksi muuttujaa, joista toinen sisältää merkkijonon ja toisen kokonaisluvun. Mitä tapahtuu, jos lisäät ne? Se riippuu oikeastaan ​​siitä, mihin järjestykseen ne 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 siksi yrittää muuntaa myös kaikki muut operandit kokonaislukuiksi. Toisessa esimerkissä ensimmäinen operandi on merkkijono, joten PowerShell muuntaa loput operandit merkkijonoiksi ja yhdistää ne. Kehittyneemmät käsikirjoittajat estävät tällaisen gotchan tuomalla muuttujan tyypille, jota he odottavat.

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

    Edellä mainittu johtaa siihen, että Numeromuuttuja sisältää kokonaisluvun, jonka arvo on 5.

    Tulo ja lähtö

    Koska PowerShell on tarkoitettu automatisoimaan asioita, et halua välttää käyttäjiä antamasta tietoa aina kun se on mahdollista. Tämän sanomalla on aikoja, jolloin et voi välttää sitä, ja niissä aikoina meillä on Read-Host cmdlet. Sen käyttö on todella yksinkertaista:

    $ FirstName = Lue-isäntä -Tulosta 'Anna etunimesi'

    Mitä tahansa syötät sitten tallennetaan muuttujaan.

    Kirjoituslähtö on yhtä helppoa kirjoituslähdön cmdletin kanssa.

    Kirjoitustulos “How-To Geek Rocks!”

    Liity meihin huomenna, kun me sitomme kaiken, mitä olemme oppineet yhdessä!