Kezdve a bash: -lt és -gt argumentumokkal

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

  • Hiányzó idézőjelek vannak a változók körül
  • 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:

    http://tldp.org/LDP/abs/html/comparison-ops.html

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük