Geek Šola učenje PowerShell spremenljivke, Input in Output
Ko se oddaljujemo od preprosto izvajanja ukazov in se premikamo v pisanje polnih piškotkov, boste potrebovali začasno mesto za shranjevanje podatkov. Tukaj pridejo spremenljivke.
Preberite prejšnje članke v seriji:
- Naučite se avtomatizirati Windows s PowerShell
- Učenje uporabe ukaznih vrstic v PowerShell
- Učenje uporabe objektov v programu PowerShell
- Učenje oblikovanja, filtriranja in primerjave v programu PowerShell
- Naučite se uporabljati možnost Remoting v PowerShell
- Uporaba programa PowerShell za pridobivanje informacij o računalniku
- Delo z zbirkami v programu PowerShell
In ostanite z nami do konca tedna.
Spremenljivke
Večina programskih jezikov dovoljuje uporabo spremenljivk, ki so preprosto vsebniki, ki vsebujejo vrednosti. V programu PowerShell imamo tudi spremenljivke in so zelo enostavne za uporabo. Tukaj je, kako ustvariti spremenljivko "FirstName" in ji podati vrednost "Taylor".
$ FirstName = “Taylor”
Prva stvar, ki se večina ljudi sprašuje, je, zakaj smo pred imenom spremenljivk postavili znak za dolar, kar je pravzaprav zelo dobro vprašanje. Resnično, znak za dolar je le majhen namig lupini, da želimo dostopati do vsebine spremenljivke (pomislite, kaj je v vsebniku) in ne samega vsebnika. V PowerShell imena spremenljivk ne vključujejo znaka dolarja, kar pomeni, da je v zgornjem primeru ime spremenljivke dejansko »FirstName«.
V PowerShell lahko vidite vse spremenljivke, ki ste jih ustvarili v spremenljivki PSDrive.
spremenljivka gci:
Kar pomeni, da lahko kadar koli izbrišete spremenljivko iz lupine:
Odstrani spremenljivko postavke: Ime prvega
Spremenljivk ne smejo vsebovati niti enega samega predmeta; lahko prav tako enostavno shranite več predmetov v spremenljivko. Na primer, če želite shraniti seznam potekajočih procesov v spremenljivko, jo lahko samo dodelite rezultatu postopka Get-Process.
$ Proc = Get-Process
Trik za razumevanje tega je, da se spomnite, da je desna stran znaka enakosti vedno ocenjena najprej. To pomeni, da lahko na desni strani imate celoten cevovod, če želite.
$ CPUHogs = Get-Process | Razvrsti CPU-padajoče | izberite -Prvi 3
Spremenljivka CPUHogs bo zdaj vsebovala tri tekoče procese z največ CPU.
Ko imate spremenljivko, ki vsebuje zbirko predmetov, se morate zavedati nekaterih stvari. Klicanje metode na spremenljivki bo na primer povzročilo, da bo klican na vsak predmet v zbirki.
$ CPUHogs.Kill ()
Ki bi ubil vse tri procese v zbirki. Če želite dostopati do posameznega objekta v spremenljivki, ga morate obravnavati kot matriko.
$ CPUHogs [0]
S tem boste dobili prvi predmet v zbirki.
Ne zaslužite!
Spremenljivke v programu PowerShell so po privzetih nastavitvah slabo vnesene, kar pomeni, da lahko vsebujejo kakršne koli podatke, kar se zdi, da ves čas ujame nove uporabnike v PowerShell!
$ a = 10
$ b = '20'
Torej imamo dve spremenljivki, ena vsebuje niz in drugo celo število. Kaj se zgodi, če jih dodate? Dejansko je odvisno od tega, v kateri vrstni red jih dodate.
$ a + $ b = 30
Medtem
$ b + $ a = 2010
V prvem primeru je prvi operand celo število, $ a, tako da PowerShell meni, da misli, da poskušate narediti matematiko in zato skuša pretvoriti tudi druge operande v cela števila. Toda v drugem primeru je prvi operand niz, tako da PowerShell samo pretvori preostale operande v niz in jih združi. Naprednejši skriptarji preprečujejo tovrstno preizkušnjo tako, da spremenljivko spremenijo v tip, ki ga pričakujejo.
[int] $ Number = 5
[int] $ Number = '5'
Zgoraj bo tako rezultat spremenljivke Število, ki vsebuje celoštevilski objekt z vrednostjo 5.
Vhod in izhod
Ker je PowerShell namenjen avtomatizaciji stvari, se boste želeli izogniti temu, da bi uporabnike povprašali po informacijah, kjer je to mogoče. S tem rečem, da bodo časi, ko se ne boste mogli izogniti temu, in za tiste čase imamo cmdlet Read-Host. Uporaba je zelo preprosta:
$ FirstName = Read-Host -Prompt 'Vnesite svoje ime'
Karkoli vnesete, se shrani v spremenljivko.
Izpis pisanja je prav tako enostaven s cmdletom Write-Output.
Write-Output "Kako naj Geek Rocks!"
Pridružite se nam jutri, kjer bomo povezali vse, kar smo se naučili!