Úvodná » ako » Geek School Učenie premenné PowerShell, vstup a výstup

    Geek School Učenie premenné PowerShell, vstup a výstup

    Pri prechode od jednoduchého spustenia príkazov a presúvaní do písania plných fúkaných skriptov budete potrebovať dočasné miesto na ukladanie dát. Tu sa dostávajú premenné.

    Nezabudnite si prečítať predchádzajúce články v sérii:

    • Naučte sa ako automatizovať systém Windows pomocou nástroja PowerShell
    • Naučiť sa používať Cmdlets v PowerShell
    • Učenie o používaní objektov v systéme PowerShell
    • Formátovanie učenia, filtrovanie a porovnávanie v systéme PowerShell
    • Naučte sa používať Remoting v PowerShell
    • Použitie PowerShell na získanie informácií o počítači
    • Práca s kolekciami v systéme PowerShell

    A zostávajte celú týždeň na zvyšok seriálu.

    premenné

    Väčšina programovacích jazykov umožňuje používať premenné, ktoré sú jednoducho kontajnery, ktoré obsahujú hodnoty. V programe PowerShell máme tiež premenné a sú veľmi jednoduché. Tu je postup, ako vytvoriť premennú s názvom "FirstName" a dať jej hodnotu "Taylor".

    $ FirstName = "Taylor"

    Prvá vec, z ktorej sa väčšina ľudí zrejme pýta, je dôvod, prečo pred názvom premenných uvádzame dolár, a to je v skutočnosti veľmi dobrá otázka. Naozaj, znak dolára je len malým náznakom pre shell, že chceme pristupovať k obsahu premennej (myslieť si, čo je v kontajneri), a nie samotný kontajner. V menách PowerShell názvy premenných nezahŕňajú znak dolára, čo znamená, že v uvedenom príklade je názov premenných vlastne "FirstName".

    V programe PowerShell môžete vidieť všetky premenné, ktoré ste vytvorili v premennej PSDrive.

    gci premenná:

    Znamená to, že môžete kedykoľvek vymazať premennú zo súboru:

    Odstrániť premennú položky: \ FirstName

    Premenné nemusia obsahovať ani jeden objekt; môžete rovnako ľahko uložiť viaceré objekty do premennej. Napríklad, ak ste chceli uložiť zoznam bežiacich procesov v premennej, môžete mu len priradiť výstup Get-Process.

    $ Proc = Get-Process

    Trik na pochopenie tejto skutočnosti si musíme uvedomiť, že pravá strana označenia rovnosti je vždy najprv hodnotená. To znamená, že ak máte záujem, môžete mať na pravom okraji celé potrubie.

    $ CPUHogs = Get-Process Zoradiť CPU -Deskovanie | vyberte položku - Prvý 3

    Premenná CPUHogs bude teraz obsahovať tri bežiace procesy používajúce väčšinu procesorov.

    Keď máte premennú obsahujúcu zbierku objektov, musíte si byť vedomí niektorých vecí. Napríklad volanie metódy na premennej spôsobí, že bude vyzvaný na každý objekt v kolekcii.

    $ CPUHogs.Kill ()

    Ktoré by v kolekcii zabili všetky tri procesy. Ak chcete pristupovať k jednému objektu v premennej, musíte ho považovať za pole.

    $ CPUHogs [0]

    Tým sa dostanete prvý objekt v kolekcii.

    Nenechajte sa chytiť!

    Premenné v PowerShell sú štandardne slabo zadané, čo znamená, že môžu obsahovať ľubovoľné údaje, zdá sa,!

    $ a = 10

    $ b = '20'

    Takže máme dve premenné, jedna obsahuje reťazec a druhé celé číslo. Takže čo sa stane, ak ich pridáte? Závisí to od toho, v akom poradí ich pridáte.

    $ a + $ b = 30

    zatiaľ čo

    $ b + $ a = 2010

    V prvom príklade je prvý operand celé číslo $ a, takže PowerShell si myslí, že si myslíte, že sa pokúšate robiť matematické metódy a preto sa pokúša previesť aj ostatných operandov na celé čísla. Avšak v druhom príklade je prvý operand reťazec, takže PowerShell konvertuje zvyšok operandov na reťazce a zlučuje ich. Pokročilejšie scriptoři zabraňujú tomu, aby dostali premennú na typ, ktorý očakávajú.

    [int] $ číslo = 5
    [int] $ Number = '5'

    Vyššie uvedené povedie k tomu, že premenná Počet obsahuje celočíselný objekt s hodnotou 5.

    Vstup a výstup

    Pretože PowerShell je určený na automatizáciu vecí, budete sa chcieť vyhnúť tomu, aby ste používateľov požiadali o informácie kdekoľvek je to možné. S tým povedal, že tam budú časy, kedy sa nemôžete vyhnúť a za tie časy máme čítačku Read-Host. Použitie je veľmi jednoduché:

    $ FirstName = Read-Host -Prompt 'Zadajte svoje krstné meno'

    Čokoľvek zadáte, bude uložené v premennej.

    Výstup písania je rovnako jednoduchý aj pri cmdletí Write-Output.

    Write-výstup "How-To Geek Rocks!"

    Pridajte sa k nám zajtra, kde viažeme všetko, čo sme sa spoločne naučili!