27Jul
Jak se dostáváme od jednoduchého spouštění příkazů a pohybujeme se do psaní plných foukaných skriptů, budete potřebovat dočasné místo pro ukládání dat. Toto je místo, kde proměnné přicházejí.
Ujistěte se, že jste si přečetli předchozí články v sérii:
- Naučte se automatizovat systém Windows s PowerShell
- Naučte se používat cmdlety v PowerShellu
- Učíme se používat objekty ve formátu PowerShell
- Formáty učení, filtrování a porovnáváníPowerShell
- Naučte se používat Remoting v PowerShell
- Použití PowerShell pro získání informací o počítači
- Práce s kolekcemi v PowerShell
A zůstaňte ladící po zbytek série celý týden. Proměnné
Většina programovacích jazyků umožňuje použití proměnných, které jsou jednoduše kontejnery, které obsahují hodnoty. V nástroji PowerShell máme také proměnné a jsou velmi snadno použitelné.Zde je návod, jak vytvořit proměnnou s názvem "FirstName" a dát jí hodnotu "Taylor".
$ FirstName = "Taylor"
První věc, kterou se většina lidí zřejmě ptá, je, že před názvem proměnných dáváme znak dolaru a to je vlastně velmi dobrá otázka. Opravdu, znak dolaru je jen malý náznak shellu, že chceme přistupovat k obsahu proměnné( myslíme si, co je uvnitř kontejneru) a ne samotný kontejner. Ve zdroji PowerShell neobsahují názvy proměnných znak dolaru, což znamená, že ve výše uvedeném příkladu je název proměnných skutečně "FirstName".
V programu PowerShell můžete vidět všechny proměnné, které jste vytvořili v proměnné PSDrive.
proměnná gci:
Který znamená, že můžete kdykoli smazat proměnnou ze skořepiny:
Odstranit-Proměnná položky: \ FirstName
Proměnné nemusí obsahovat ani jeden objekt;můžete stejně snadno snadno uložit více objektů do proměnné.Například pokud chcete uložit seznam běžících procesů v proměnné, můžete mu pouze přiřadit výstup Get-Process.
$ Proc = Get-Process
Trik k porozumění je třeba mít na paměti, že pravá strana symbolu je vždy vždy nejprve vyhodnocena. To znamená, že můžete mít na pravé straně celé potrubí, pokud chcete.
$ CPUHogs = Get-ProcessSeřadit CPU -Deskování |vyberte - První 3
Proměnná CPUHogs nyní obsahuje tři běžící procesy používající většinu procesorů.
Když máte proměnnou, která drží kolekci objektů, je třeba si uvědomit některé věci. Například volání metody na proměnné způsobí, že bude volána na každý objekt v kolekci.
$ CPUHogs. Kill()
Které by zničily všechny tři procesy v kolekci. Chcete-li získat přístup k jednomu objektu v proměnné, musíte se s ním chovat jako pole.
$ CPUHogs [0]
Tímto uděláte první objekt ve sbírce.
Nenechte se unést! Proměnné
v PowerShellu jsou ve výchozím nastavení slabě zadány, což znamená, že mohou obsahovat jakýkoli druh dat, zdá se to, že se po celou dobu dostanou nové verze PowerShell!
$ a = 10
$ b = '20'
Takže máme dvě proměnné, jedna obsahuje řetězec a druhé celé číslo. Takže co se stane, když je přidáte? Ve skutečnosti závisí na tom, v jakém pořadí je přidáte.
$ a + $ b = 30
Zatímco
$ b + $ a = 2010
V prvním příkladu je první operand celé číslo $ a, takže PowerShell si myslí,snažíte se dělat matematiku, a proto se pokouší převést všechny ostatní operandy na celá čísla. V druhém příkladu je však první operand řetězec, takže PowerShell právě převede zbytek operandů na řetězce a zřetězí je. Pokročilější scripty zabraňují tomuto druhu gotchy tím, že přemístí proměnnou do typu, který očekávají.
[int] $ Number = 5
[int] $ Number = '5'
Výše uvedené bude mít za následek proměnnou Number obsahující celočíselný objekt s hodnotou 5.
Vstup a výstup
Protože PowerShell je určen k automatizaci věcí, budete se chtít vyhnout tomu, aby uživatelé požadovali informace tam, kde je to možné.S tím se řekne, že tam budou časy, kdy se nemůžete vyhnout, a pro ty časy máme čtení Read-Host. Použití je velmi jednoduché:
$ FirstName = Read-Host -Prompt 'Zadejte své první jméno'
Cokoliv zadáte, pak se uloží do proměnné.
Výstup psaní je stejně snadný i při zápisu cmdletu pro zápis.
Write-Out "How-To Geek Rocks!"
Připojte se k nám zítra, kde jsme vázali vše, co jsme se společně naučili!