Geek School: Výučba premenných PowerShell, vstup a výstup

Obsah:

Geek School: Výučba premenných PowerShell, vstup a výstup
Geek School: Výučba premenných PowerShell, vstup a výstup

Video: Geek School: Výučba premenných PowerShell, vstup a výstup

Video: Geek School: Výučba premenných PowerShell, vstup a výstup
Video: How to TRANSFER PHOTOS from an iPhone or iPad to a Mac or Windows Computer - YouTube 2024, Apríl
Anonim
Pri prechode od jednoduchého spustenia príkazov a presunu do písania plných fúkaných skriptov budete potrebovať dočasné miesto na ukladanie dát. Tu sa dostávajú premenné.
Pri prechode od jednoduchého spustenia príkazov a presunu 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 ako používať objekty v PowerShell
  • Formátovanie učenia, filtrovanie a porovnávanie v systéme PowerShell
  • Naučte sa používať Remoting v PowerShell
  • Použitie nástroja 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 série.

premenné

Väčšina programovacích jazykov umožňuje používať premenné, ktoré sú jednoducho kontajnery, ktoré obsahujú hodnoty. V systéme PowerShell máme aj 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 sme pred názov premenných vložili znak dolára a to je v skutočnosti veľmi dobrá otázka. Naozaj, znak dolára je len malý náznak pre shell, že chceme pristupovať k obsahu premennej (myslieť si, čo je vnútri kontajnera), a nie samotný kontajner. V menách PowerShell názvy premenných nezahŕňajú znak dolára, čo znamená, že vo vyššie uvedenom príklade je názov premenných skutočne "FirstName".

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

gci variable:

Znamená to, že môžete kedykoľvek odstrániť premennú zo zariadenia:
Znamená to, že môžete kedykoľvek odstrániť premennú zo zariadenia:

Remove-Item Variable: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 do premennej, stačí mu priradiť výstup Get-Process.

$Proc = Get-Process

Trik na to, aby ste pochopili toto, je mať na pamäti, že pravá strana označenia rovnosti je vždy najprv hodnotená. To znamená, že môžete mať na pravej strane celý potrubie, ak chcete.

$CPUHogs = Get-Process | Sort CPU -Descending | select -First 3

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

Keď máte premennú obsahujúcu zbierku objektov, je potrebné si uvedomiť niekoľko vecí. Napríklad, volanie metódy na premennej spôsobí, že bude vyzvaný na každý objekt v kolekcii.
Keď máte premennú obsahujúcu zbierku objektov, je potrebné si uvedomiť niekoľko 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 urobíte prvý objekt v zbierke.

Image
Image

Nenechajte sa chytiť!

Premenné v systéme PowerShell sú v predvolenom nastavení slabo napísané, čo znamená, že môžu obsahovať ľubovoľný druh údajov, zdá sa, že sa to dá stále viac prichádzať do PowerShell!

$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é skúšky, 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 scripty zabraňujú tomuto typu chlapčeka prevzatím premennej na typ, ktorý očakáva.

[int]$Number = 5 [int]$Number = ‘5’

Vyššie uvedené bude mať za následok premennú Počet s celočíselným objektom 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ľom viedli informácie vždy, keď je to možné. S tým povedal, že tam budú časy, kedy sa nemôžete vyhnúť, a za tie časy máme cmdlet Read-Host. Použitie je veľmi jednoduché:

$FirstName = Read-Host –Prompt ‘Enter your first name’

Čokoľvek zadáte, bude uložené v premennej.
Čokoľvek zadáte, bude uložené v premennej.
Výstup písania je rovnako jednoduchý aj pri cmdletí zápisu výstupu.
Výstup písania je rovnako jednoduchý aj pri cmdletí zápisu výstupu.

Write-Output “How-To Geek Rocks!”

Odporúča: