Vaadake kindlasti eelmise sarja artikleid:
- Lugege, kuidas automatiseerida Windows PowerShelliga
- Õpime PowerShellis kasutama kommuteid
- PowerShellis Objektide kasutamise õppimine
- PowerShellis õppimise vormindamine, filtreerimine ja võrdlemine
- Õpi Remotingi kasutamist PowerShellis
- PowerShelli kasutamine arvutiteabe hankimiseks
- PowerShelli kollektsioonidega töötamine
Ja jääge häälestatuks ülejäänud sarja kogu nädala jooksul.
Muutujad
Enamik programmeerimiskeeli võimaldab kasutada muutujaid, mis on lihtsalt konteinerid, mis hoiavad väärtusi. 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 tähise 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 kõiki muutuja PSDrive loodud muutujaid.
gci variable:
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 osa on alati kõigepealt hinnatud. See tähendab, et kui soovite, võib teil olla kogu torujuhe paremal küljel.
$CPUHogs = Get-Process | Sort CPU -Descending | select -First 3
CPUHogsi muutuja sisaldab nüüd kolme tööprotsessi, mis kasutavad kõige rohkem protsessorit.
$CPUHogs.Kill()
Mis tapaks kolmekordse kogu protsessi. Kui soovite juurdepääsu muutuja ühele objektile, peate seda käsitlema nagu massiivi.
$CPUHogs[0]
Seda tehes saate koopia esimest objekti.
Ärge püüdke!
PowerShelli muutujad on vaikimisi vaikimisi sisestatud, mis tähendab, et need võivad sisaldada mingeid andmeid, tundub see, et kogu aeg jõuab PowerShellile uutesse kasutajaid!
$a = 10
$b = ‘20’
Seega on meil kaks muutujat, üks sisaldab stringi ja teine täisarv. Mis juhtub, kui lisate need? See sõltub tegelikult sellest, millises järjekorras neid lisate.
$a + $b = 30
Kuigi
$b + $a = 2010
Esimeses näites on esimene operand täisarv, $ a, nii et PowerShell arvab, et te üritate matemaatika teha ja püüab teisi 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 mõlemad toovad kaasa arvnäitaja, mis sisaldab täisarve objekti väärtusega 5.
Sisend ja väljund
Kuna PowerShelli eesmärk on asju automatiseerida, kavatsen teid kasutajaid mitte viivitada 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 ‘Enter your first name’
Write-Output “How-To Geek Rocks!”