Jag börjar med bash och jag hittade följande:
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
För att läsa manuset och utföra det vet jag vad det gör, men inte vad -lt och -gt är för.
Kan någon berätta för mig vad som heter den typen av ”verktyg” och vad de (-lt och -gt) gör? Tack!
Kommentarer
Svar
Det är kort för less than och greater than. Det används för heljämförelse i bash. Du kan läsa mer genom att skriva man test:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Svar
Du kan hitta definitionen av -lt och -gt i dokumentationen för test kommandot (man test), eller i dokumentationen av bash eftersom test är ett inbyggt kommando i bash (som i de flesta andra skal).
-lt och -gt är numeriska jämförelser (mindre än [och inte lika], större än [och inte lika]). Det finns också mindre / större eller lika operatörer -le och -ge, och lika och inte lika operatörer -eq och -ne. Dessa är numeriska operatorer, så det kommer att uppstå ett fel om någon sida inte är” ta-nummer och 9 ered mindre än 10.
Anledningen namn som -lt används snarare än det vanliga < är att tecknet < skulle tolkas som en omdirigering. Operatorerna = och != finns också, men de utför en strängjämförelse: test 00 -eq 0 är true medan test 00 = 0 är falskt.
Vissa skal, inklusive bash, har också operatorer < och > som utför en lexikografisk strängjämförelse, så test 9 \< 10 är falskt eftersom 9 sorteras före 1 (bakåtvänd snedstreck förhindrar att tecknet < tolkas som en omdirigeringsoperator). Dessa skal erbjuder också syntaxen med dubbla fästen för tester, t.ex. [[ 9 < 10 ]] (i motsats till [ 9 \< 10 ]), som inte kan ha omdirigeringar inuti så att < behöver inte citeras.
Svar
De är bara operatörer.
Enkelt: gt och lt betyder> (större än) och < (mindre än).
Du kan se här för mer information om operatörer:
Svar
Det här är jämförelseoperatörer
-lt = mindre än
-gt = större än
Du kan kontrollera den här sidan för ytterligare detaljer:
echouttalanden i koden svarar på din fråga.