Ön küzd a PowerShell összehasonlító operátorok megértésével, mint például a eq
, ne
, ceq
és . Ha igen, olvassa tovább.
jön egy szoftver fejlesztési háttér az első fokon volt egy ” Huh?”a pillanat az volt, amikor először láttam a PowerShell összehasonlító operátorait eq
, ceq
, cne
stb., Az összes többi nyelvnek összehasonlító operátorai vannak, de nem egészen olyanok, mint a PowerShell. ==
és <>
.
nem csak a szintaxis teljesen másnak tűnik, mint a tipikus programozási nyelv, hanem másképp viselkednek, amikor összehasonlítják az értékgyűjteményeket.
Ez valami, ami igazán felakasztott, amikor megismertem a PowerShell-t, de most úgy tűnik, mint az öreg sör mondás; ez egy megszerzett íz.,
nézzük át röviden, mi az összehasonlító operátor, ha ismeretlen vagy, és mélyebben belemerülsz a PowerShell által bevezetett árnyalatokba. Hamarosan, akkor képes lesz arra, hogy forgat operátorok a PowerShell szkriptek nem probléma.
mint már említettem, minden programozási / szkriptnyelvnek összehasonlító operátorai vannak. A legalapvetőbb értelemben összehasonlító operátorokra van szükség annak értékeléséhez, hogy a különböző dolgok hogyan hasonlítanak más dolgokhoz. Arra használják őket, hogy két tárgyat vegyenek fel, hogy megnézzék, mi a különbség (ha van ilyen) a két objektum között.,
a PowerShell esetében az operátorok az értékek Gyűjteményében lévő elemek megtalálására is használhatók.
ehhez a bejegyzéshez átnézem az esélyegyenlőségi operátorokat és azt, hogy a PowerShell hogyan használja őket. Ezek aeq
ésne
esetérzékeny társaikkalceq
éscne
. A teljes listához ugorhat át a Technet webhelyre, vagy csak használhatja a Get-Help about_comparison_operators
A Powershell konzolban.,
PowerShell-EQ and-CEQ
Ha valaha is látnia kell, hogy egy objektum megegyezik-e egy másik objektummal, akkor a eq
(eset-érzéketlen) vagy ceq
(esetérzékeny) operátorokat kell használnia. Ezek az operátorok tesztelik az egyes entitások értékét, amelyekkel összehasonlítani szeretne.
amikor először elkezdtem tanulni a PowerShell-t, folyamatosan valami ilyesmit csinálok
$string = 'Adam'if ($string = 'Adam') { 'string is equal to Adam'}
hamarosan elég lesz ahhoz, hogy ezt ne tegye meg. A=
jel egy hozzárendelési operátor, nem összehasonlító operátor., Nem használhatja a=
jelet az egyik érték összehasonlításához a másikkal.
ennek megfelelő módja a kifejezés bal oldalán ellenőrizendő érték meghatározása, valamint a eq
operátor használata. Íme egy példa a eq
és ceq
operátorokra és azok használatának módjára.,
Notice how eq
returned a boolean True
value when comparing our variable against adam
but ceq
returned a boolean False
value? This displays the case sensitivity difference between the two operators.,
Ez mind jó skalár (egyetlen) értékek, de akkor is megtalálja az összes esetben bizonyos értékek segítségével ezek az operátorok is. Például a PowerShell-eq operátor segítségével szűrheti az elemeket egy tömbben:
ha van egy változó egy gyűjtemény értékek, mint például egy tömb használhatjaeq
ésceq
hogy megtalálja az összes esetben értékek a gyűjteményben.,
figyeljük meg,hogy megtalálta az összes esetben az egész 9 megpróbáltuk összehasonlítani. Mindig ezt a praktikus módszert használom.
-ne és-CNE
a szemközti oldalon mindkettő ne
és cne
. Pontosan ellentétesek a eq
és ceq
, de ugyanazt a viselkedést csak szemben mutatják. Nem az egyenlőséget tesztelik,hanem az egyenlőtlenséget.
remélem, ez ad egy jó magyarázat az egyenlőség összehasonlító operátorok. Ez tényleg kaptam letette, mint egy újonc, és soha nem igazán kattintott rám, amíg én csak verte be benyújtása hibaüzenetek. Remélem, ez a bejegyzés megakadályozza ugyanazt a vereséget, amit kaptam.