about_Operator_Precedence
Rövid leírás
A PowerShell-operátorok sorrendben való felsorolása.
Hosszú leírás
A PowerShell-operátorokkal egyszerű, de hatékony kifejezéseket hozhat létre. Ez a témakör az operátorokat elsőbbségi sorrendben sorolja fel. Az elsőbbségi sorrend az a sorrend, amelyben a PowerShell kiértékeli az operátorokat, ha több operátor is megjelenik ugyanabban a kifejezésben.
Ha az operátorok elsőbbséget élveznek, a PowerShell balról jobbra értékeli őket, ahogy azok megjelennek a kifejezésben. A kivételek a hozzárendelési operátorok, az öntött operátorok és a negation operátorok (!
, -not
, ), -bnot
amelyek kiértékelése jobbról balra történik.
A házak, például zárójelek használatával felülbírálhatja a szabványos sorrendet, és kényszerítheti a PowerShellt, hogy értékelje ki egy kifejezés zárt részét a nem lezárt rész előtt.
Az alábbi listában az operátorok a kiértékelés sorrendjében jelennek meg. Az ugyanazon a sorban vagy ugyanabban a csoportban lévő operátorok elsőbbséget élveznek.
Az Operátor oszlop felsorolja az operátorokat. A Referencia oszlop felsorolja azt a PowerShell-súgótémakört, amelyben az operátor leírása szerepel. A témakör megjelenítéséhez írja be a következőt get-help <topic-name>
:
OPERÁTOR | HIVATKOZÁS |
---|---|
$() @() () @{} |
about_Operators |
. ?. (taghozzáférés) |
about_Operators |
:: (statikus) |
about_Operators |
[0] ?[0] (index operátor) |
about_Operators |
[int] (öntött operátorok) |
about_Operators |
-split (unary) |
about_Split |
-join (unary) |
about_Join |
, (vessző operátor) |
about_Operators |
++ -- |
about_Assignment_Operators |
! -not |
about_Logical_Operators |
.. (tartomány operátora) |
about_Operators |
-f (formátum operátor) |
about_Operators |
- (unary/negatív) |
about_Arithmetic_Operators |
* / % |
about_Arithmetic_Operators |
+ - |
about_Arithmetic_Operators |
Az operátorok alábbi csoportja egyenlő elsőbbséget élvez. A kis- és nagybetűk megkülönböztetése és a kis- és nagybetűk megkülönböztetése azonos sorrendben történik.
OPERÁTOR | HIVATKOZÁS |
---|---|
-split (bináris) |
about_Split |
-join (bináris) |
about_Join |
-is -isnot -as |
about_Type_Operators |
-eq -ne -gt -ge -lt -le |
about_Comparison_Operators |
-like -notlike |
about_Comparison_Operators |
-match -notmatch |
about_Comparison_Operators |
-in -notIn |
about_Comparison_Operators |
-contains -notContains |
about_Comparison_Operators |
-replace |
about_Comparison_Operators |
A lista itt folytatódik a következő operátorokkal, sorrendben:
OPERÁTOR | HIVATKOZÁS |
---|---|
-band -bnot -bor -bxor -shr -shl |
about_Arithmetic_Operators |
-and -or -xor |
about_Logical_Operators |
A következő elemek nem valódi operátorok. Ezek a PowerShell parancsszintaxisának részei, nem pedig a kifejezés szintaxisának. A hozzárendelés mindig az utolsó művelet, amely történik.
SZINTAXIS | HIVATKOZÁS |
---|---|
. (pont-forrás) |
about_Operators |
& (hívás) |
about_Operators |
? <if-true> : <if-false> (Ternáris operátor) |
about_Operators |
?? (nullszén-operátor) |
about_Operators |
| (folyamatüzemeltető) |
about_Operators |
> >> 2> 2>> 2>&1 |
about_Redirection |
&& || (folyamatlánc-operátorok) |
about_Operators |
= += -= *= /= %= ??= |
about_Assignment_Operators |
Példák
Az alábbi két parancs az aritmetikai operátorokat és a zárójelek használatát mutatja be, amelyek arra kényszerítik a PowerShellt, hogy először kiértékelje a kifejezés zárt részét.
PS> 2 + 3 * 4
14
PS> (2 + 3) * 4
20
Az alábbi példa lekéri a csak olvasható szövegfájlokat a helyi könyvtárból, és menti őket a $read_only
változóba.
$read_only = Get-ChildItem *.txt | Where-Object {$_.isReadOnly}
Ez egyenértékű az alábbi példával.
$read_only = ( Get-ChildItem *.txt | Where-Object {$_.isReadOnly} )
Mivel a folyamatüzemeltető (|
) nagyobb elsőbbséget élvez, mint a hozzárendelési operátor (=
), a Get-ChildItem
parancsmag által lekért fájlokat a rendszer szűrés céljából elküldi a Where-Object
parancsmagnak, mielőtt hozzárendeli őket a $read_only
változóhoz.
Az alábbi példa azt mutatja be, hogy az index operátor elsőbbséget élvez az öntött operátorral szemben.
Ez a kifejezés három sztringből álló tömböt hoz létre. Ezután az index operátort használja 0 értékkel a tömb első objektumának kiválasztásához, amely az első sztring. Végül sztringként öntötte el a kijelölt objektumot. Ebben az esetben a szereposztásnak nincs hatása.
PS> [string]@('Windows','PowerShell','2.0')[0]
Windows
Ez a kifejezés zárójelekkel kényszeríti a leadási műveletet az index kiválasztása előtt. Ennek eredményeképpen a teljes tömb (egyetlen) sztringként lesz öntött. Ezután az index operátor kiválasztja a sztringtömb első elemét, amely az első karakter.
PS> ([string]@('Windows','PowerShell','2.0'))[0]
W
A következő példában, mivel a -gt
(nagyobb) operátor nagyobb elsőbbséget élvez a -and
(logikai ÉS) operátornál, a kifejezés eredménye a FAL Standard kiadás.
PS> 2 -gt 4 -and 1
False
Ez egyenértékű a következő kifejezéssel.
PS> (2 -gt 4) -and 1
False
Ha a -and operátor nagyobb elsőbbséget élvez, a válasz IGAZ lesz.
PS> 2 -gt (4 -and 1)
True
Ez a példa azonban az operátorok elsőbbsége kezelésének fontos elvét mutatja be. Ha egy kifejezés nehezen értelmezhető, zárójelek használatával kényszerítse ki a kiértékelési sorrendet, még akkor is, ha az alapértelmezett operátori elsőbbséget kényszeríti ki. A zárójelek egyértelművé teszik a szándékait azok számára, akik olvassák és karbantartják a szkripteket.
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: