27Jul
Ahogy elmozdulunk a parancsok egyszerű parancsfuttatásától és teljes forgatókönyvek készítéséhez, ideiglenes helyre lesz szükség az adatok tárolásához. Ez az a hely, ahol változók jönnek be.
Olvassa el a korábbi cikkeket a sorozatban:
- Ismerje meg a Windows automatizálását a PowerShell programmal
- A Cmdletek használata a PowerShell-ben
- A PowerShell objektumok objektumainak tanulása
- A tanulás formázása, szűrése és összehasonlításaPowerShell
- Ismerje meg a távtelepítés használatát a PowerShell-ben
- A PowerShell használata a számítógépes információk beszerzéséhez
- A PowerShell
gyűjteményeinek kezelése Tartsa magát a sorozat többi részéhez egész héten.
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, 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 változó:
Ami azt jelenti, hogy bármikor törölhet egy változót a shellből:
Eltávolítás-elem változó: \ FirstName
A változóknak nem kell egyetlen objektumot 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
Ennek a megértésnek a trükkje, hogy emlékezzen 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-csökkenő |select -First 3
A CPUHogs változó mostantól a legfeljebb három CPU-t használó futó folyamatokat tartalmazza.
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ölné 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]
Ehhez a gyűjtemény első objektumát adja meg.
Ne légy elkapva! Az
A PowerShell változói gyengén vannak beírva alapértelmezés szerint, bármilyen adatot tartalmazhatnak, ez úgy tűnik, hogy az új felhasználókat mindenkor elkapja a PowerShell-re!
$ a = 10
$ b = '20'
Így 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á őket
$ 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, hogymegpróbálsz matematikát csinálni, ezért megpróbál más operandusokat is egész számokra konvertálni. 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] $ szám = 5
[int] $ szám = '5'
A fenti eredmények mindegyike egy számértéket tartalmazó, 5-ös értékű egész számot tartalmazó számváltozót eredményez.
bemenet és kimenet
Mivel a PowerShell célja a dolgok automatizálása, ha csak lehetséges, el szeretné kerülni a felhasználók figyelmének felkeltését. 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 'Adja meg az utónevét'
Az ön által beírni kívánt adatokat a változó elmenti.
Az író kimenet ugyanolyan egyszerű a Write-Output cmdletnél.
Write-Output "How-To Geek Rocks!"
Csatlakozz hozzánk holnap, ahol mindannyiunkat összekapcsoljuk, amit együtt tanultak!