Geek Iskola: A PowerShell változók, a bemenet és a kimenetek elsajátítása

Tartalomjegyzék:

Geek Iskola: A PowerShell változók, a bemenet és a kimenetek elsajátítása
Geek Iskola: A PowerShell változók, a bemenet és a kimenetek elsajátítása

Videó: Geek Iskola: A PowerShell változók, a bemenet és a kimenetek elsajátítása

Videó: Geek Iskola: A PowerShell változók, a bemenet és a kimenetek elsajátítása
Videó: Everyone Uses Chrome. But Why? - YouTube 2024, November
Anonim
Ahogy elmozdulunk az egyszerű parancsok futtatásától és a teljes fújt parancsfájlok írásához, ideiglenes helyre lesz szükségünk az adatok tárolásához. Itt jönnek a változók.
Ahogy elmozdulunk az egyszerű parancsok futtatásától és a teljes fújt parancsfájlok írásához, ideiglenes helyre lesz szükségünk az adatok tárolásához. Itt jönnek a változók.

Olvassa el a sorozatban szereplő cikkeket:

  • További információ a Windows PowerShell automatizálásáról
  • A PowerShell-ben található cmdletek használatának elsajátítása
  • A PowerShell objektumainak használata
  • Tanulási formázás, szűrés és összehasonlítás a PowerShell-ben
  • Tanulja meg a Remoting használatát a PowerShell programban
  • A PowerShell használata a számítógépes információk beszerzéséhez
  • A PowerShell gyűjteményeinek használata

És egész héten maradjon a sorozatban.

változók

A legtöbb programozási nyelv lehetővé teszi a változók használatát, amelyek egyszerűen olyan tartályok, amelyek értékeket tartalmaznak. A PowerShell-ben is vannak változók, és nagyon könnyen használhatóak. Itt van egy "FirstName" nevű változó létrehozása, és adja meg a "Taylor" értéket.

$FirstName = “Taylor”

Az első dolog, amit a legtöbb ember megkérdez, az, hogy miért teszünk dollárjelet a változók neve előtt, és ez valójában nagyon jó kérdés. Tényleg, a dollár jel csak egy kis tipp a shell számára, hogy hozzáférhetünk a változó tartalmához (gondoljunk arra, mi van a tartályban), és nem magának az edénynek. A PowerShell-ben a változók nevei nem tartalmazzák a dollárjelet, ami azt jelenti, hogy a fenti példában a változók neve valójában "FirstName".

A PowerShell programban megtekintheti a PSDrive változóban létrehozott összes változót.

gci variable:

Ez azt jelenti, hogy bármikor törölhet egy változót a shellből:
Ez azt jelenti, hogy bármikor törölhet egy változót a shellből:

Remove-Item Variable:FirstName

A változóknak nem kell egyetlen tárgyat sem tartalmazniuk; ugyanolyan egyszerűen tárolhat több objektumot egy változóban. Ha például egy változóban szeretné tárolni a futó folyamatok listáját, csak a Get-Process kimenetét rendelheti hozzá.

$Proc = Get-Process

A megértésnek ez a trükkje, hogy emlékezzünk arra, hogy az egyenlő jel jobb oldalát mindig először értékeljük. Ez azt jelenti, hogy egy teljes csővezeték a jobb oldalon lehet, ha akarod.

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

A CPUHogs változó most tartalmaz három futási folyamatot a legtöbb CPU használatával.

Ha van olyan változó, amely egy objektumgyűjteményt tart, van néhány dolog, amit tisztában kell lenned. Például, ha egy változót használunk egy metódusra, a gyűjtemény minden egyes objektumát meghívjuk.
Ha van olyan változó, amely egy objektumgyűjteményt tart, van néhány dolog, amit tisztában kell lenned. Például, ha egy változót használunk egy metódusra, a gyűjtemény minden egyes objektumát meghívjuk.

$CPUHogs.Kill()

Ami mindhárom eljárást megöli a gyűjteményben. Ha egy objektumot szeretne elérni a változóban, akkor úgy kell kezelnie, mint egy tömböt.

$CPUHogs[0]

Ezzel a gyűjtemény első objektumát adhatja meg.

Image
Image

Ne nyúlj!

A PowerShell-ben található változók gyengén vannak beírva alapértelmezésben, ami bármilyen adatot tartalmazhat, ez úgy tűnik, hogy az új felhasználókat mindenkor elkapja a PowerShell-be!

$a = 10

$b = ‘20’

Tehát van két változó, az egyik tartalmaz egy karakterláncot, a másik egy egész számot. Mi történik akkor, ha hozzáadja őket? Valójában attól függ, hogy melyik sorrendbe adja hozzá.

$a + $b = 30

Míg

$b + $a = 2010

Az első példában az első operandus egy egész szám, $ a, így a PowerShell úgy gondolja, hogy matematikát próbál megtenni, és ezért megpróbálja átalakítani bármely más operandust egész számokká. A második példában azonban az első operandus egy string, így a PowerShell csak átalakítja a többi operandust a karakterláncokra és összekapcsolja azokat. A fejlettebb szkriptek megakadályozzák ezt a fajta fogalmat, ha a változót a kívánt típushoz választják.

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

A fenti eredmények mindegyike egy számértékű változót eredményez, amely 5 értékű egész objektumot tartalmaz.

Bemenet és kimenet

Mivel a PowerShell a dolgok automatizálását szolgálja, el kell kerülnie a felhasználók figyelmének felkeltését, ahol csak lehetséges. Ezzel azt mondják, hogy vannak olyan idők, amikor nem tudod elkerülni, és ezekben az időben a Read-Host cmdlet. Használata nagyon egyszerű:

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

Bármelyiket beírja, a változó el lesz mentve.
Bármelyiket beírja, a változó el lesz mentve.
Az író kimenet ugyanolyan egyszerű a Write-Output cmdlet-nél.
Az író kimenet ugyanolyan egyszerű a Write-Output cmdlet-nél.

Write-Output “How-To Geek Rocks!”

Ajánlott: