Er du sliter med å forstå PowerShell sammenligningen operatører som eq
, ne
, ceq
og cne
. Hvis så, les videre.
som Kommer fra en programvare utviklingen bakgrunnen første omgang hadde jeg en «Huh?»øyeblikk var da jeg først så PowerShell er sammenligningen operatører eq
, ceq
, cne
, osv., Alle andre språk har sammenligningen operatører, men ikke helt som PowerShell. Jeg var vant til ==
og <>
.
Ikke bare syntaks se helt annerledes enn din typiske programmeringsspråk de også oppfører seg annerledes når du arbeider sammenligne samlinger av verdier.
Det er noe som virkelig hang meg opp når du lære om PowerShell, men nå ser det ut som at ol’ øl ordtaket; det er en ervervet smak.,
La oss gå over kort hva en sammenligning operatøren hvis du ikke er kjent og dykke dypere inn i de nyansene som PowerShell introduserer. Før lang tid, vil du være i stand til å bruke operatører i PowerShell-skript uten problem.
Som jeg har nevnt, er alle programmering/scripting språk har sammenligningen operatører. I sin mest grunnleggende forstand, sammenligningen operatører er nødvendig å vurdere hvordan forskjellige ting i forhold til andre ting. De brukes til å ta to objekter og se hva forskjellen (hvis noen) mellom de to objektene.,
I PowerShell er tilfelle, operatører kan også brukes til å finne elementer inni samlinger av verdier.
For dette innlegget, jeg kommer til å gå over likestillings-operatører og hvordan PowerShell bruker dem. Disse er eq
og ne
med sine case-sensitive kolleger ceq
og cne
. For en full liste, kan du hoppe over Technet-området eller bare bruke Get-Help about_comparison_operators
i Powershell-konsollen.,
PowerShell -EQ og -CEQ
Hvis du trenger å se om en gjenstand er lik en annen gjenstand, må du bruke eq
(små bokstaver) eller ceq
(case sensitiv) operatører. Disse operatorene teste verdien av hver enhet du ønsker å sammenligne mot.
Når jeg først begynte å lære PowerShell-jeg vil hele tiden gjøre noe som dette
$string = 'Adam'if ($string = 'Adam') { 'string is equal to Adam'}
Du vil snart bli slo nok til å ikke gjøre det. =
– tegnet er et oppdrag operatøren IKKE en sammenligning operatør., Du kan ikke bruke =
logg for å sammenligne én verdi mot en annen.
Den riktige måten å gjøre dette på er å definere verdien til sjekk på venstre side av uttrykk og bruk eq
operatør. Her er et eksempel på eq
og ceq
operatører og hvordan de er brukt.,
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.,
Dette er vel og bra for skalar (single) – verdier, men du kan også finne alle forekomster av bestemte verdier ved hjelp av disse operatører. Du kan For eksempel bruke PowerShell -eq operatøren å filtrere elementer i en tabell:
Hvis du har en variabel med en samling av verdier som en tabell du kan bruke eq
og ceq
for å finne alle forekomster av verdier inne i samlingen.,
legg Merke til at det finnes alle forekomster av heltall 9 vi forsøkte å sammenligne mot. Jeg bruker denne praktiske metoden hele tiden.
-NE og -CNE
På motsatt side, du har både ne
og cne
. De er akkurat det motsatte av eq
og ceq
men vise nøyaktig samme atferd bare motsatt. De ikke tester likestilling, de tester ulikhet.
jeg håper dette gir en god forklaring på likestilling sammenligningen operatører. Dette virkelig fikk meg hengt opp som en nybegynner, og det egentlig aldri klikket for meg før jeg var bare slå til innsending av feilmeldinger. Jeg håper dette innlegget hindrer det samme slo ned fikk jeg.