kämpar du med att förstå PowerShell jämförelse operatörer som eq, ne, ceq och cne. Om så är fallet, läs vidare.

kommer från en mjukvaruutveckling bakgrund första instans jag hade en ”Huh?”ögonblick var när jag först såg Powershells jämförelseoperatörer eq, ceq, cne, etc., Alla andra språk har jämförelseoperatörer men inte riktigt som PowerShell. Jag användes för att == och <>.

syntaxen ser inte bara helt annorlunda ut än ditt typiska programmeringsspråk.de beter sig också annorlunda när man jämför samlingar av värden.

det är något som verkligen hängde mig när jag lärde mig om PowerShell men nu verkar det som att ol ’ beer adage; det är en förvärvad smak.,

låt oss gå över kortfattat vad en jämförelseoperatör är om du är obekant och dyka djupare in i nyanser som PowerShell introducerar. Innan länge, kommer du att kunna svinga operatörer i dina PowerShell skript utan problem.

som jag nämnde har alla programmerings – /skriptspråk jämförelseoperatörer. I sin mest grundläggande mening är jämförelseoperatörer nödvändiga för att utvärdera hur olika saker jämför med andra saker. De används för att ta två objekt och se vad skillnaden (om någon) är mellan dessa två objekt.,

i Powershells fall kan operatörer också användas för att hitta element i samlingar av värden.

För det här inlägget kommer jag att gå över jämställdhetsoperatörerna och hur PowerShell använder dem. Dessa äreq ochne med sina skiftlägeskänsliga motsvarigheterceq ochcne. För en fullständig lista kan du hoppa över Technet-webbplatsen eller bara använda Get-Help about_comparison_operatorsI din Powershell-konsol.,

PowerShell-EQ och-CEQ

om du någonsin behöver se om ett objekt är lika med ett annat objekt måste du användaeq (skiftlägeskänslig) ellerceq (skiftlägeskänslig) operatorer. Dessa operatörer testar värdet för varje enhet som du vill jämföra mot.

När jag först började lära mig PowerShell skulle jag ständigt göra något så här

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

Du kommer snart att bli smackad nog för att inte göra det. = – tecknet är en tilldelningsoperatör som inte är en jämförelseoperatör., Du kan inte använda= – tecknet för att jämföra ett värde mot ett annat.

det rätta sättet att göra detta är att definiera värdet för att kontrollera på vänster sida av uttrycket och använda eq – operatören. Här är ett exempel på operatörerna eq och ceq och hur de används.,

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.,

det här är bra och bra för skalära (enstaka) värden, men du kan också hitta alla instanser av specifika värden med hjälp av dessa operatörer också. Använd till exempel PowerShell-EQ-operatören för att filtrera objekt i en array:

använda Eq för att söka matriser

om du har en variabel med en samling värden som en array kan du använda

om du har en variabel med=”9b7327ed51″ >

och ceq för att hitta alla instanser av värden i samlingen.,

Observera att det hittade alla instanser av heltalet 9 Vi försökte jämföra mot. Jag använder denna praktiska metod hela tiden.

-NE och-CNE

på motsatt sida har du både ne och cne. De är precis motsatsen till eq och ceq men visar exakt samma beteende bara motsatt. De testar inte jämlikhet, de testar ojämlikhet.

PowerShells ne vs., CNE

Jag hoppas att detta ger en bra förklaring av jämlikhetsjämförelseoperatörerna. Detta fick mig verkligen hängde upp som en nybörjare och det aldrig riktigt klickade för mig tills jag var bara slå in inlämning av felmeddelanden. Jag hoppas att det här inlägget förhindrar samma slå ner jag fick.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *