Shell-Script

shell 腳本中的運算符 -gt 是什麼意思?

  • May 29, 2018

嗨,我有這句話,我想知道它是什麼意思。

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

是什麼-gt意思?

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

-gt意思是“大於”。它用於比較通常用>其他語言編寫的不等式的整數(在某些 shell 中,使用test實用程序或 inside [ ... ]>比較兩個字元串的字典順序,因此它的含義與 非常不同-gt)。

-gt記錄在 or 的手冊中test[或者如果這些是內置實用程序,則記錄在您的 shell 手冊中,如

n1 -gt n2

如果整數n1在代數上大於整數,則為真n2;否則為假。

(以上內容取自關於該test實用程序的 POSIX 標准文本)

Fortran 在其.GT.關係運算符中也使用此縮寫來表示數字。

用於將 shell 中的整數與test或 in進行比較的其他相關運算符[ ... ]-ge(“大於或等於”)、-lt(“小於”)、-le(“小於或等於”)、-eq(“等於”) 和-ne(“不相等”)。

有趣的是,所有這些在 Fortran 中都是相同的(、.GT..GE..LT..LE.)。.EQ.``.NE.

引用自:https://unix.stackexchange.com/questions/446693