Geek School Learning PowerShelli muutujad, sisend ja väljund
Kuna me liigume lihtsalt käskude käivitamisest ja liigume täispuhutud skriptide kirjutamisse, on vaja ajutist asukohta andmete salvestamiseks. Siin tulevad muutujad.
Lugege kindlasti seeria eelmisi artikleid:
- Lugege, kuidas Windowsi PowerShelli abil automatiseerida
- Õppimine kasutama Cmdleti PowerShellis
- Õppimine, kuidas kasutada objekte PowerShellis
- Vormindamine, filtreerimine ja võrdlemine PowerShellis
- Õpi kasutama Remotingit PowerShellis
- PowerShelli kasutamine arvutiteabe saamiseks
- Töötamine kogudega PowerShellis
Ja hoia ülejäänud sarja jaoks terve nädal.
Muutujad
Enamik programmeerimiskeeleid võimaldavad kasutada muutujaid, mis on lihtsalt väärtusi säilitavad konteinerid. PowerShellis on meil ka muutujaid ja neid on lihtne kasutada. Siin on, kuidas luua muutuja nimega „FirstName” ja anda sellele väärtus “Taylor”.
$ FirstName = “Taylor”
Esimene asi, mida enamik inimesi küsib, on see, miks panime muutujate nime ees dollari märgi ja see on tegelikult väga hea küsimus. Tõepoolest, dollari märk on lihtsalt väike vihje kesta, et me tahame ligipääsu muutuja sisule (mõtle, mis on konteineri sees), mitte konteinerit. PowerShellis ei sisalda muutujate nimed dollari märki, mis tähendab, et ülaltoodud näites on muutujate nimi tegelikult „FirstName”.
PowerShellis näete kõiki muutujaid, mille olete loonud muutuja PSDrive.
gci muutuja:
Mis tähendab, et saate ka muutujast igal ajal kustutada:
Eemalda-üksuse muutuja: eesnimi
Muutujad ei pea sisaldama ühtegi objekti; saate sama muutujaga sama objekti salvestada. Näiteks, kui soovisite muutujana salvestatud protsesside loendit salvestada, saate selle lihtsalt määrata Get-Process'i väljundiks.
$ Proc = Get-protsess
Selle mõistmise trikk on meeles pidada, et võrdsete märkide paremat külge hinnatakse alati kõigepealt. See tähendab, et kui soovid, on teil paremal pool terve torujuhe.
$ CPUHogs = Get-Process | Sorteeri CPU-väljavõtmine valige -First 3
CPUHogs'i muutuja sisaldab nüüd kolme jooksvat protsessi, kasutades kõige CPU-d.
Kui teil on objektide kogumit omav muutuja, on mõned asjad, millest tuleb teada. Näiteks põhjustab meetodi muutmine muutujal selle kutsumiseks iga kogumi objektile.
$ CPUHogs.Kill ()
Mis tapaks kõik kolm protsessi kogumikus. Kui soovite muutuja üksikobjekti juurde pääseda, peate seda käsitlema massiivina.
$ CPUHogs [0]
See annab esimesele objektile kollektsiooni.
Ära saa kinni!
PowerShelli muutujad on vaikimisi trükitud vaikimisi, mis tähendab, et need võivad sisaldada mis tahes andmeid, mis tundub, et PowerShellile on kogu aeg uusi tulijaid!
$ a = 10
$ b = '20'
Seega on meil kaks muutujat, millest üks sisaldab stringi ja teine täisarv. Mis siis juhtub, kui lisate need? See sõltub tegelikult sellest, millises järjekorras need lisatakse.
$ a + $ b = 30
Kuigi
$ b + $ a = 2010
Esimeses näites on esimene operand täisarv, $ a, nii et PowerShell arvab, et arvate, et proovite teha matemaatikat ja püüab seega teisest operandist ka täisarvudeks teisendada. Teises näites on esimene operand string, nii et PowerShell lihtsalt teisendab ülejäänud operandid stringideks ja koondab neid. Arenenud skriptijad hoiavad sellist getchat, muutes selle tüüpi, mida nad ootavad.
[int] $ Number = 5
[int] $ Number = '5'
Ülaltoodud tulemuseks on nii arvu muutuja, mis sisaldab täisarvu objekti väärtusega 5.
Sisend ja väljund
Kuna PowerShell on mõeldud asjade automatiseerimiseks, tahate vältida kasutajate teavitamist, kui see on võimalik. Sellega öeldakse, et on aegu, kus seda ei saa vältida, ja nende aegade jaoks on meil Read-Host cmdlet. Selle kasutamine on väga lihtne:
$ FirstName = Loe-Hosti -Tühista 'Sisesta oma eesnimi'
Mida iganes sa sisestad, salvestatakse muutuja.
Kirjutusväljund on sama lihtne kirjutusväljundiga cmdletiga.
Kirjutusväljund “How-To Geek Rocks!”
Liitu meiega homme, kus me sidume kõike, mida oleme koos õppinud!