Én “bash-mal kezdem, és a következőket találtam:
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
A szkript elolvasásához és végrehajtásához tudom, hogy mit csinál, de azt nem, hogy mire szolgálnak az -lt és a -gt.
Meg tudja mondani valaki, hogy mi a neve az a fajta “eszköz”, és mit csinálnak (-lt és -gt)? Köszönöm! hogy a kódban szereplő echo
utasítások válaszolnak a kérdésére.
Válasz
Ez röviden less than
és greater than
. Ezt egész számok összehasonlítására használják a bash-ban. További információt a man test
beírásával olvashat:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Válasz
A -lt
és -gt
definíciókat itt találja: a test
parancs (man test
), vagy a bash dokumentációja, mivel a test
egy beépített parancs a bash-ban (mint a legtöbb más shellben).
-lt
és a -gt
numerikus összehasonlítás (kisebb [és nem egyenlő], nagyobb, mint [és nem egyenlő]. Vannak kevesebb / nagyobb vagy egyenlő operátorok is -le
és -ge
, valamint egyenlő és nem egyenlő operátorok -eq
és -ne
. Ezek numerikus operátorok, ezért hiba lép fel, ha bármelyik oldal nem” ta “, és 9
megegyezik kevesebb, mint 10
.
Az okneveket, például a -lt
, a szokásos az, hogy az <
karaktert átirányításként értelmezzük. A =
és a !=
operátorok is léteznek, de sztring-összehasonlítást hajtanak végre: test 00 -eq 0
igaz, míg a test 00 = 0
hamis.
Néhány héjnak, beleértve a bash-t is, vannak operátorai <
és >
, amelyek karakterlánc-lexikográfiai összehasonlítást végeznek, így a test 9 \< 10
hamis, mert a 9
a 1
(a visszavágás megakadályozza, hogy a (z) <
karakter átirányítási operátorként értelmezhető legyen). Ezek a héjak a kettős zárójeles szintaxist is kínálják a tesztekhez, pl. [[ 9 < 10 ]]
(ellentétben a [ 9 \< 10 ]
-vel), amelynek “nem lehet átirányítása belül, így a <
nem kell idézni.
Válasz
Csak operátorok.
Egyszerűen: gt
és lt
jelentése> (nagyobb mint) és < (kevesebb, mint).
itt kereshet további információt az operátorokról:
válasz
Ezek összehasonlító operátorok
-lt = kisebbek, mint
-gt = nagyobbak, mint
Ezen az oldalon ellenőrizheti további részletek: