
Hallo, ich habe diesen Satz und möchte bitte wissen, was er bedeutet.
if [[ -z "$1" ]]; then # --> this is if the value of the parameter $1 is zero
PASO=1
elif [[ "$1" -gt 1 ]] ; then # but i don't know what this flags mean? .."-gt"
LOG "[$(date +%T)] Parametros incorrectos"
exit 255
else
PASO=$1
fi
Was -gt
bedeutet?
Antwort1
-gt
bedeutet „größer als“. Es wird verwendet, um Ganzzahlen auf die Ungleichheit hin zu vergleichen, die normalerweise in anderen Sprachen geschrieben wird >
(in einigen Shells werden mit dem test
Dienstprogramm oder innerhalb von [ ... ]
zwei >
Zeichenfolgen auf lexikografische Reihenfolge verglichen, sodass es eine ganz andere Bedeutung als hat -gt
).
-gt
ist im Handbuch für test
oder dokumentiert [
, oder im Handbuch Ihrer Shell, wenn es sich um integrierte Dienstprogramme handelt, wie
n1 -gt n2
Wahr, wenn die Ganzzahl
n1
algebraisch größer als die Ganzzahl istn2
, andernfalls falsch.
(das Obige stammt ausder POSIX-Standardtext über das test
Dienstprogramm)
Fortran verwendet diese Abkürzung auch in seinem .GT.
relationalen Operator für Zahlen.
Die anderen relevanten Operatoren zum Vergleichen von Ganzzahlen in der Shell mit test
oder in [ ... ]
sind -ge
(„größer als oder gleich“), -lt
(„kleiner als“), -le
(„kleiner als oder gleich“), -eq
(„gleich“) und -ne
(„ungleich“).
Interessant,alledavon sind in Fortran gleich ( .GT.
, .GE.
, .LT.
, .LE.
, .EQ.
und .NE.
).
Antwort2
$ help test
test: test [expr]
Evaluate conditional expression.
...
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2.
Antwort3
Sie können mit beginnen help test
, wodurch die Hilfe zur POSIX-Teilmenge der vom [[
Operator unterstützten Syntax angezeigt wird.
Eine ausführliche Dokumentation befindet sich im CONDITIONAL EXPRESSIONS
Abschnitt man bash
.
Speziell:
Other operators:
...
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
Arithmetic binary operators return true if ARG1 is equal, not-equal,
less-than, less-than-or-equal, greater-than, or greater-than-or-equal
than ARG2.