Domovská » jak » Geek School Učení proměnné PowerShell, vstup a výstup

    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!