Geek School Učení proměnné PowerShell, vstup a výstup
Když se vzdáme od jednoduchého spouštění příkazů a přesuneme se do psaní plných foukaných skriptů, budete potřebovat dočasné místo pro ukládání dat. Zde přicházejí proměnné.
Ujistěte se, že jste si přečetli předchozí články v sérii:
- Naučte se automatizovat systém Windows pomocí nástroje PowerShell
- Naučte se používat Cmdlets v PowerShell
- Učení o používání objektů v prostředí PowerShell
- Formátování učení, filtrování a porovnávání v prostředí PowerShell
- Naučte se používat Remoting v PowerShell
- Použití funkce PowerShell pro získání informací o počítači
- Práce s kolekcemi v prostředí PowerShell
A zůstaňte v klidu 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 programu PowerShell máme i proměnné a jsou velmi snadné. Zde je návod, jak vytvořit proměnnou nazvanou "FirstName" a dát jí hodnotu "Taylor".
$ FirstName = "Taylor"
První věc, kterou se většina lidí zřejmě ptá, je, proč před názvem proměnných dáváme znak dolaru, a to je vlastně velmi dobrá otázka. Opravdu, znamení 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. V názvech proměnné PowerShell neobsahují 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.
gci proměnná:
Co znamená, že můžete kdykoli odstranit proměnnou ze skořepiny:
Odebrat -měnka 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 jej přiřadit pouze výstup Get-Process.
$ Proc = Get-Process
Trik k porozumění je třeba mít na paměti, že pravá strana značky rovnosti je vždy nejprve vyhodnocena. To znamená, že můžete mít na pravé straně celé potrubí, pokud chcete.
$ CPUHogs = Get-Process Řadit CPU -Deskování | vyberte možnost -První 3
Proměnná CPUHogs bude nyní obsahovat tři běžící procesy používající většinu CPU.
Když máte proměnnou s kolekcí objektů, je třeba si je uvědomit. Například volání metody na proměnné způsobí, že bude volána na každý objekt v kolekci.
$ CPUHogs.Kill ()
Což by v kolekci zabíjelo všechny tři procesy. Chcete-li získat přístup k jednomu objektu v proměnné, musíte se s ním chovat jako pole.
$ CPUHogs [0]
Tím uděláte první objekt ve sbírce.
Nenechte se unést!
Proměnné v nástroji PowerShell jsou ve výchozím nastavení slabě zadány, což znamená, že mohou obsahovat jakýkoli druh dat, zdá se,!
$ 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? Záleží to 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í, že si myslíte, že se snažíte dělat matematiku, a proto se pokouší převést všechny ostatní operandy na celá čísla. V druhém příkladu je první operand řetězec, takže PowerShell pouze převede zbytek operandů na řetězce a zřetězí je. Pokročilější scripty zabraňují tomuto druhu getcha tím, že přemístí proměnnou do typu, který očekávají.
[int] $ číslo = 5
[int] $ Číslo = '5'
Výše uvedené dva způsobí proměnnou Number obsahující celočíselný objekt s hodnotou 5.
Vstup a výstup
Vzhledem k tomu, že PowerShell je určen k automatizaci věcí, budete chtít, abyste se vyhnuli uživatelům, aby vás informovali, kdykoli 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, bude uložen v proměnné.
Výstup zápisu je stejně snadný i při zápisu cmdletu pro zápis.
Výstupní zápis "How-To Geek Rocks!"
Připojte se k nám zítra, kde spojujeme vše, co jsme se společně naučili!