27Jul
Kuna me lihtsalt käivitame käske ja liigume kirjutama täispuhutud skripte, on teil vaja ajutist koht andmete salvestamiseks. Siin on muutujate sisestamine.
Kindlasti loe seriisi eelmisi artikleid:
- Õppige Windowsi automatiseerimine PowerShelli abil
- PowerShelli moodulite õppimine
- Õppimine kuidas objektidest PowerShellis
- õppida vormindamine, filtreerimine ja võrdleminePowerShell
- Õppige kasutama Remoting PowerShellis
- -s, kasutades PowerShelli arvutiteabe saamiseks
- PowerShell
kollektsioonidega töötamine ja jääge kogu nädala jaoks ülejäänud seeriate juurde.
Muutujad
Enamik programmeerimiskeeli võimaldab kasutada muutujaid, mis on lihtsalt väärtused hoitavad konteinerid. PowerShellis on meil ka muutujad ja neid on tõesti lihtne kasutada. Siin on, kuidas luua muutuja nimega "FirstName" ja anda sellele väärtus "Taylor".
$ FirstName = "Taylor"
Esimene asi, mida enamik inimesi arvates küsib, on see, miks me paneme dollarite märgi muutujate nime ees ja see on tegelikult väga hea küsimus. Tõepoolest, dollar märk on kohe väike vihje, et me tahame minna muutuja sisusse( mõtle, mis konteiner sees on), mitte konteineris ise. PowerShellis ei sisalda muutujate nimed dollarite tähist, mis tähendab, et ülaltoodud näites on muutuja nimi tegelikult "FirstName".
PowerShellis näete muutujat PSDrive kõiki muutujaid, mille olete loonud.
gci muutuja:
Mis tähendab, et saate igal ajal ka koopia muutuja kustutada:
Remove-Item Variable: \ FirstName
Muutujad ei pea sisaldama ühtki objekti;võite muutujaga lihtsalt salvestada mitu objekti. Näiteks kui soovite salvestada muutujaga käitatavate protsesside loendi, võite lihtsalt määrata selle Get-Processi väljundi.
$ Proc = Get-Process
Selle mõistmise trikk on meeles pidada, et võrdse märgi parempoolne külg on alati kõigepealt hinnatud. See tähendab, et kui soovite, võib teil olla kogu torujuhe paremal küljel.
$ CPUHogs = Get-Process |Sorteeri protsessorit - kasvavalt |select -First 3
CPUHogsi muutuja sisaldab nüüd kolme tööprotsessi, mis kasutavad kõige rohkem protsessorit.
Kui teil on muutuja, mis hoiab objektide kogumit, on mõned asjad, millest tuleb teada saada. Näiteks, kui helistab muutuja meetodile, siis tuleb see kogumikust iga objekti kutsuda.
$ CPUHogs. Kill()
, mis hävitaks kogu kolmekordse protsessi. Kui soovite juurdepääsu muutuja ühele objektile, peate seda käsitlema nagu massiivi.
$ CPUHogs [0]
See teeb teile kogumi esimest objekti.
Ärge püüdke!
PowerShelli muutujad on vaikimisi nõrgalt sisestatud, mis tähendab, et need võivad sisaldada mingeid andmeid, tundub see, et kogu aeg jõuab PowerShelli uutesse kasutajaid kätte!
$ a = 10
$ b = '20'
Seega on meil kaks muutujat: üks sisaldab stringi ja teine täisarv. Mis juhtub, kui lisate need?
$ a + $ b = 30
Kuigi
$ b + $ a = 2010
Esimeses näites on esimene operand täisarv, $ a, nii et PowerShell arvab, et seete üritate matemaatikat teha ja püüab teisi operande teisendada ka täisarvudeks. Kuid teises näites on esimene operand string, nii et PowerShell muudab ülejäänud operandid stringideks ja ühendab need. Rohkem arenenud stsenaariumid takistavad seda tüüpi hõbe, muutes selle muutuja tüübiks, mida nad ootavad.
[int] $ Number = 5
[int] $ Number = '5'
Eespool toodud tulemuseks on mõlemad muutuja, mis sisaldab täisarve objekti väärtusega 5.
sisend ja väljund
Kuna PowerShelli eesmärk on asju automatiseerida, tahate vältida kasutajate teavitamist võimaluse korral. Sellega seoses on aeg, kus te ei saa seda vältida, ning neil aegadel on meil Read-Host'i cmdlet. Kasutades seda on tõesti lihtne:
$ FirstName = Read-Host -Prompt "Sisestage oma eesnimi"
. Ükskõik mida sisestad, salvestatakse see siis muutuja juurde.
Kirjutamisväljund on sama lihtne kui kirjutamise väljundi cmdlet.
kirjutamise väljund "Kuidas-Ge Geek Rocks!"
Liituge meiega homme, kus me seame kõik, mida oleme õppinud koos!