Skip to main content

Beginnersgids voor BASH - Dingen vergelijken

Two Mistakes to Avoid in Clash of Clans - Begin Early and Correct Them (TH5 Game Play) (Juni- 2025)

Two Mistakes to Avoid in Clash of Clans - Begin Early and Correct Them (TH5 Game Play) (Juni- 2025)
Anonim
01 van 08

Beginnersgids voor BASH - Dingen vergelijken

In het vorige deel van de BASH-tutorial hebben we gekeken naar voorwaardelijke uitspraken.

Die gids was erg lang maar liet alleen maar zien hoe je de stroom van logica kon beheersen. Deze gids toont de verschillende manieren waarop u variabelen kunt vergelijken.

De bovenstaande afbeelding toont het eerste voorbeeld in de gids van deze week:

#! / Bin / bashname1 = "Gary"name2 = "bob"als "$ name1" = "$ name2"dan echo "de namen komen overeen"anders echo "de namen komen niet overeen"fi

In het bovenstaande script heb ik twee variabelen genaamd naam 1 en naam2 gedefinieerd en hun de waarden "gary" en "bob" toegewezen. Omdat de variabelen tussen aanhalingstekens staan, worden ze stringvariabelen genoemd die relevanter worden naarmate de tutorial verdergaat.

Alle script doet is de waarde van $ name1 en $ name2 vergelijken en als ze overeenkomen met de uitvoer de string "de namen match" en als ze niet de string "de namen komen niet overeen".

De aanhalingstekens rond de $ name1 en $ name2 variabelen zijn belangrijk omdat als de waarde van een van beide niet is ingesteld, het script nog steeds werkt.

Als $ name1 bijvoorbeeld nooit is ingesteld, zou u "" vergelijken met "bob". Zonder de aanhalingstekens zou u overblijven met = "bob" wat duidelijk faalt.

U kunt ook de! = Notatie gebruiken om niet als volgt te definiëren:

als "$ name1"! = "$ name2" 02 van 08

Beginnersgids voor BASH - Strings vergelijken

In het bovenstaande voorbeeld vergelijkt de test dezelfde twee strings en stelt de vraag of Gary vóór Bob in het alfabet komt?

Het antwoord is duidelijk nee.

Het script introduceert de minder dan operator (<). Omdat de minder dan operator ook wordt gebruikt voor doorverwijzing, moet je eraan ontsnappen met een schuine streep (), want dit betekent minder dan waarom ik in het bovenstaande script "$ name1" <"$ name2" heb vergeleken.

Het tegenovergestelde van minder dan is duidelijk groter dan. In plaats van <gebruik > te gebruiken.

Bijvoorbeeld

als "$ name1" > "$ name2" 03 van 08

Beginnersgids voor BASH - Strings vergelijken

Als u wilt testen of een variabele een waarde heeft, kunt u de volgende test gebruiken:

als -n $ naam2

In het bovenstaande script heb ik getest of $ name2 een waarde heeft gekregen en als dat niet het geval is "Er is geen bob, er is nooit een bob weergegeven".

04 van 08

Beginnersgids voor BASH - Strings vergelijken

Op de vorige dia hebben we besproken of een variabele is ingesteld of niet. Soms is een variabele mogelijk ingesteld, maar heeft deze mogelijk geen waarde.

Bijvoorbeeld:

name1 = ""

Om te testen of een variabele al dan niet een waarde heeft (d.w.z. een lengte heeft van nul), gebruik -z als volgt:

als -z $ naam1

In het bovenstaande script heb ik $ name1 ingesteld op een tekenreeks met een lengte nul en vervolgens vergeleken met -z. Als $ name1 nul is, wordt het bericht 'gary is uit voor de avond' weergegeven.

05 van 08

Beginnershandleiding voor BASH - Nummers vergelijken

Tot dusverre zijn alle vergelijkingen voor snaren geweest. Hoe zit het met het vergelijken van nummers?

Het bovenstaande script toont een voorbeeld van het vergelijken van twee getallen:

#! / Bin / basha = 4b = 5als $ a = $ bdan echo "4 = 5"anders echo "4 is niet gelijk aan 5"fi

Als u een variabele als een getal wilt instellen, stelt u deze eenvoudig zonder aanhalingstekens in. Je kunt dan de getallen vergelijken met een gelijkteken.

Ik geef echter de voorkeur aan de volgende operator om twee getallen te vergelijken:

Als $ a -eq $ b 06 van 08

Beginnershandleiding voor BASH - Nummers vergelijken

Als u wilt vergelijken of een getal kleiner is dan een ander getal, kunt u de operator <operator> gebruiken. Net als bij strings moet je de minder dan operator met een schuine streep ontsnappen. ( <).

Een betere manier om getallen te vergelijken is om in plaats daarvan de volgende notatie te gebruiken:

  • Minder dan -lt
  • Minder dan of gelijk aan -le
  • Groter dan -gt
  • Groter dan of gelijk aan -ge

Bijvoorbeeld:

als $ a -lt $ bals $ a -le $ bals $ a -ge $ bals $ a -gt $ b 07 van 08

Beginnershandleiding voor BASH - Nummers vergelijken

Als u tenslotte voor deze handleiding wilt testen of twee getallen verschillend zijn, kunt u de operators kleiner dan en groter dan samen (<>) of -ne als volgt gebruiken:

als $ a <> $ bals $ a -ne $ b 08 van 08

Beginnersgids voor BASH - Comparison Operators - Samenvatting

Als je de eerste drie delen van deze gids hebt gemist, kun je ze vinden door op de volgende links te klikken:

  • Hallo Wereld
  • Invoerparameters
  • Voorwaarden en variabelen

In het volgende deel van de gids behandel ik de rekenkunde.