Er du kæmper med at forstå, PowerShell sammenligning operatører som eq ne ceq og cne. Hvis ja, læs videre.

kommer fra en soft ?areudvikling baggrund den første instans jeg havde en “Huh?”øjeblik var, da jeg første gang så PowerShell sammenligning operatører eq ceq cne osv., Alle andre sprog har sammenligningsoperatører, men ikke helt som Po .ershell. Jeg var vant til == og <>.

ikke kun ser syntaksen helt anderledes ud end dit typiske programmeringssprog, de opfører sig også anderledes, når de beskæftiger sig med at sammenligne samlinger af værdier.

Det er noget, der virkelig hængt mig op når man lærer om PowerShell, men nu ser det ud som om, at ol’ øl ordsprog; det er en erhvervet smag.,

lad os gå kort over, hvad en sammenligningsoperatør er, hvis du ikke er bekendt og dykker dybere ned i de nuancer, som Po .ershell introducerer. Inden længe kan du bruge operatører i dine Po .ershell-scripts uden problemer.

Som nævnt har alle programmeringssprog / scriptsprog sammenligningsoperatører. I deres mest basale forstand er sammenligningsoperatører nødvendige for at evaluere, hvordan forskellige ting sammenlignes med andre ting. De er vant til at tage to objekter og se, hvad forskellen (hvis nogen) er mellem disse to objekter.,

i Po .ershell ‘ s tilfælde kan operatører også bruges til at finde elementer inde i samlinger af værdier.

for dette indlæg vil jeg gå over ligestillingsoperatørerne, og hvordan Po .ershell bruger dem. Disse er eq og ne med deres case-sensitive kolleger ceq og cne. For en komplet liste kan du hoppe over Technet site eller bare bruge Get-Help about_comparison_operatorsi din Powershell console.,

PowerShell -EQ og -af ceq

Hvis du nogensinde har brug for at se, om et objekt er lig med et andet objekt, du er nødt til at bruge eq (store og små bogstaver) eller ceq (bogstaver) operatører. Disse operatører tester værdien af hver enhed, du gerne vil sammenligne med.

Da jeg først begyndte at lære PowerShell jeg havde hele tiden gøre noget som dette:

$string = 'Adam'if ($string = 'Adam') { 'string is equal to Adam'}

Du vil snart blive klasket nok til ikke at gøre det. = – tegnet er en tildelingsoperatør, der ikke er en sammenligningsoperatør., Du kan ikke bruge= – tegnet til at sammenligne en værdi med en anden.

den rigtige måde at gøre dette på er at definere værdien for at kontrollere på venstre side af udtrykket og bruge eq operatør. Her er et eksempel på operatørerne eq og ceq og hvordan de bruges.,

PowerShell’s eq vs ceq

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 alt sammen godt og godt for skalære (enkelt) værdier, men du kan også finde alle forekomster af bestemte værdier ved hjælp af disse operatører også. For eksempel, bruge PowerShell -eq operatør til at filtrere elementer i et array:

ved Hjælp af Eq for at søge arrays

Hvis du har fået en variabel med en samling af værdier, såsom et array kan du bruge eq og ceq for at finde alle forekomster af værdier inde i samlingen.,

Bemærk, at det fandt alle forekomster af heltal 9 Vi forsøgte at sammenligne med. Jeg bruger denne praktiske metode hele tiden.

-NE og -CNE

På den modsatte side, du har både ne og cne. De er nøjagtigt det modsatte af eq og ceq men viser nøjagtigt den samme opførsel kun modsat. De tester ikke ligestilling, de tester ulighed.

PowerShells ne vs., cne

jeg håber, at dette giver en god forklaring af ligestilling sammenligning operatører. Dette fik mig virkelig hængt op som nybegynder, og det klikkede aldrig rigtig for mig, før jeg bare blev slået til indsendelse af fejlmeddelelser. Jeg håber, at dette indlæg forhindrer det samme slag, jeg modtog.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *