Ik “m beginnend met bash en ik vond het volgende:
if test $first -lt $second then echo $first is lower than $second else if test $first -gt $second then echo $first is higher than $second else echo $first and $second are equals fi fi
Voor het lezen en uitvoeren van het script weet ik wat het doet, maar niet waar -lt en -gt voor zijn.
Kan iemand me vertellen wat de naam is van dat soort “tool” en wat zij (-lt en -gt) doen? Bedankt!
Reacties
Answer
Het is een afkorting voor less than en greater than. Het wordt gebruikt voor het vergelijken van gehele getallen in bash. U kunt meer lezen door man test:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Je kunt de definitie van De reden waarom namen als Sommige shells, waaronder bash, hebben ook operatoren Het zijn slechts operators. Gewoon: Je kunt hier kijken voor meer informatie over operators: Dit zijn vergelijkingsoperatoren -lt = kleiner dan -gt = groter dan U kunt deze pagina controleren op meer details: -lt en -gt vinden in de documentatie van het test commando (man test), of in de documentatie van bash sinds test is een ingebouwd commando in bash (zoals in de meeste andere shells). -lt en -gt zijn numerieke vergelijkingen (kleiner dan [en niet gelijk], groter dan [en niet gelijk]). Er zijn ook minder / groter of gelijk operatoren -le en -ge, en gelijke en niet-gelijke operatoren -eq en -ne. Dit zijn numerieke operatoren, dus er zal een fout optreden als een van beide zijden niet” ta getal is, en 9 wordt beschouwd ered minder dan 10. -lt worden gebruikt in plaats van de gebruikelijke < is dat het teken < zou worden geïnterpreteerd als een omleiding. De operatoren = en != bestaan ook, maar ze voeren een stringvergelijking uit: test 00 -eq 0 is true terwijl test 00 = 0 false is. < en > die een lexicografische stringvergelijking uitvoeren, dus test 9 \< 10 is onwaar omdat 9 wordt gesorteerd vóór 1 (de backslash voorkomt dat het teken < wordt geïnterpreteerd als een omleidingsoperator). Deze shells bieden ook de syntaxis met dubbele beugel voor tests, bijv. [[ 9 < 10 ]] (in tegenstelling tot [ 9 \< 10 ]), die “geen omleidingen mag bevatten”, dus de < hoeft niet te worden geciteerd. Antwoord
gt en lt mean> (groter dan) en < (kleiner dan). Answer
echostatements in de code uw vraag beantwoorden.