Jeg begynner med bash og jeg fant følgende:
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
For å lese skriptet og utføre det, vet jeg hva det gjør, men ikke hva -lt og -gt er til.
Kan noen fortelle meg hva som heter den slags «verktøy» og hva de (-lt og -gt) gjør? Takk!
Kommentarer
Svar
Det er forkortelse for less than og greater than. Det brukes til sammenligning av heltall i bash. Du kan lese mer ved å skrive man test:
.... INTEGER1 -gt INTEGER2 INTEGER1 is greater than INTEGER2 .... INTEGER1 -lt INTEGER2 INTEGER1 is less than INTEGER2 ....
Svar
Du finner definisjonen av -lt og -gt i dokumentasjonen til test kommandoen (man test), eller i dokumentasjonen til bash siden test er en innebygd kommando i bash (som i de fleste andre skjell).
-lt og -gt er numeriske sammenligninger (mindre enn [og ikke like], større enn [og ikke like]). Det er også mindre / større eller like operatører -le og -ge, og like og ikke like operatører -eq og -ne. Dette er numeriske operatorer, så det vil være en feil hvis begge sider ikke er» ta-nummer, og 9 ered mindre enn 10.
Årsaken til at navn som -lt brukes i stedet for den vanlige < er at tegnet < vil bli tolket som en omdirigering. Operatørene = og != eksisterer også, men de utfører en strengesammenligning: test 00 -eq 0 er true mens test 00 = 0 er usant.
Noen skall, inkludert bash, har også operatorer < og > som utfører en streng leksikografisk sammenligning, så test 9 \< 10 er falsk fordi 9 er sortert før 1 (omvendt skråstrek forhindrer at tegnet < tolkes som en viderekoblingsoperator). Disse skjellene tilbyr også syntaksen med dobbel brakett for tester, f.eks. [[ 9 < 10 ]] (i motsetning til [ 9 \< 10 ]), som ikke kan ha omdirigeringer inne slik at < trenger ikke å siteres.
Svar
De er bare operatører.
Enkelt: gt og lt betyr> (større enn) og < (mindre enn).
Du kan se her for mer informasjon om operatører:
Svar
Dette er sammenligningsoperatorer
-lt = mindre enn
-gt = større enn
Du kan sjekke denne siden for ytterligere detaljer:
echoutsagnene i koden svarer på spørsmålet ditt.