Geeki kool: PowerShelli muutujate õppimine, sisend ja väljund

Sisukord:

Geeki kool: PowerShelli muutujate õppimine, sisend ja väljund
Geeki kool: PowerShelli muutujate õppimine, sisend ja väljund

Video: Geeki kool: PowerShelli muutujate õppimine, sisend ja väljund

Video: Geeki kool: PowerShelli muutujate õppimine, sisend ja väljund
Video: CS50 2014 - Week 4 - YouTube 2024, Aprill
Anonim
Kui me liigume lihtsalt käskude käivitamiselt ja läheme kirjutama täispuhutud skripte, peate andmete ajutiseks hoidmiseks ajutist kohta. Siin on muutujad.
Kui me liigume lihtsalt käskude käivitamiselt ja läheme kirjutama täispuhutud skripte, peate andmete ajutiseks hoidmiseks ajutist kohta. Siin on muutujad.

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:

Mis tähendab, et saate igal ajal muutuja shellist kustutada:
Mis tähendab, et saate igal ajal muutuja shellist 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 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.

Kui teil on muutuja, milles on objektide kogum, on mõningaid asju, millest tuleb teada. Näiteks, kui helistab muutuja meetodile, siis tuleb see kogumikust iga objekti kutsuda.
Kui teil on muutuja, milles on objektide kogum, on mõningaid asju, millest tuleb teada. Näiteks, kui helistab muutuja meetodile, siis tuleb see kogumikust iga objekti kutsuda.

$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.

Image
Image

Ä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’

Ükskõik, millesse sisestad, salvestatakse seejärel muutuja juurde.
Ükskõik, millesse sisestad, salvestatakse seejärel muutuja juurde.
Väljundi kirjutamine on sama lihtne kui käsku Käivita-väljund.
Väljundi kirjutamine on sama lihtne kui käsku Käivita-väljund.

Write-Output “How-To Geek Rocks!”

Soovitan: