Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
RÖVID LEÍRÁS
Ismerteti, hogyan elemzi a PowerShell a parancsokat.
HOSSZÚ LEÍRÁS
Amikor beír egy parancsot a parancssorba, a PowerShell a parancs szövegét "jogkivonatoknak" nevezett szegmensek sorozatára bontja, majd meghatározza, hogyan kell értelmezni az egyes "jogkivonatokat".
Ha például a következőt írja be:
Write-Host könyv
A PowerShell a következő parancsot két jogkivonatra bontja: "Write-Host" és "book", és egymástól függetlenül értelmezi az egyes jogkivonatokat.
Parancs feldolgozásakor a PowerShell-elemző kifejezés vagy argumentum módban működik:
Kifejezés módban a karakterlánc-értékeket idézőjelek között kell tartalmazni. Az idézőjelek közé nem zárt számokat a rendszer numerikus értékként (nem pedig karaktersorozatként) kezeli.
Argumentum módban a rendszer minden értéket kibontható karakterláncként kezel, kivéve, ha a következő speciális karakterek valamelyikével kezdődik: dollárjel ($), kukac jel (@), szimpla idézőjel ('), dupla idézőjel (") vagy nyitó zárójel (().
Ha ezen karakterek valamelyike előzi meg, az értéket értékkifejezésként kezeli a rendszer.
Az alábbi táblázat számos példát mutat be a kifejezési és argumentummódban feldolgozott parancsokra, valamint a parancsok által előállított eredményekre.
| példa | Üzemmód | Eredmény |
|---|---|---|
| 2+2 | Kifejezés | 4 (egész szám) |
| Write-Output 2+2 | érvelés | 2+2 |
| Write-Output (2+2) | Kifejezés | 4 (egész szám) |
| $a = 2+2 | Kifejezés | $a = 4 (egész szám) |
| Write-Output $a | Kifejezés | 4 (egész szám) |
| Write-Output $a/H | érvelés | "4/H" (húr) |
Minden jogkivonat értelmezhető valamilyen objektumtípusként, például logikai értékként vagy sztringként. A PowerShell megkísérli meghatározni a kifejezés objektumtípusát. Az objektum típusa attól függ, hogy a parancs milyen típusú paramétert vár el, és hogy a PowerShell tudja-e, hogyan konvertálja az argumentumot a megfelelő típusra. Az alábbi táblázat több példát mutat be a kifejezések által visszaadott értékekhez rendelt típusokra.
| példa | Üzemmód | Eredmény |
|---|---|---|
| Write-Output !1 | argumentum | "!1" (sztring) |
| Write-Output (!1) | kifejezés | Hamis (logikai érték) |
| Write-Output (2) | kifejezés | 2 (egész szám) |
A PowerShell 3.0-ban bevezetett leállítási elemzési szimbólum (--%) arra utasítja a PowerShellt, hogy tartózkodjon a bemenet PowerShell-parancsként vagy -kifejezésként való értelmezésétől.
Amikor végrehajtható programot hív meg a PowerShellben, helyezze a stop-arsing szimbólumot a programargumentumok elé. Ez a technika sokkal egyszerűbb, mint a menekülési karakterek használata a félreértelmezés megakadályozása érdekében.
Amikor stop-parsing szimbólummal találkozik, a PowerShell a sor többi karakterét konstansként kezeli. Az egyetlen értelmezés, amelyet végrehajt, az, hogy a szabványos Windows-jelölést használó környezeti változók értékeivel helyettesíti, mint például a %USERPROFILE%.
A stop-elemzés szimbólum csak a következő újsorig vagy csővezeték-karakterig érvényes. Nem használhat folytatási karaktert (') a hatás kiterjesztésére, és nem használhat parancshatárolót (;) a hatás megszüntetésére.
A következő parancs például meghívja az Icacls programot.
icacls X:\VMS /grant Dom\HVAdmin:(CI)(OI)F
A parancs PowerShell 2.0-s futtatásához menekülő karaktereket kell használnia ahhoz, hogy a PowerShell ne értelmezze félre a zárójeleket.
icacls X:\VMS /grant Dom\HVAdmin:`(CI`)`(OI`)F
A PowerShell 3.0-tól kezdődően használhatja a leállítási elemzési szimbólumot.
icacls X:\VMS --% /grant Dom\HVAdmin:(CI)(OI)F
A PowerShell a következő parancssztringet küldi el az Icacls programnak:
X:\VMS /grant Dom\HVAdmin:(CI)(OI)F