-gt
在这里是什么意思:
if [ $CATEGORIZE -gt 0 ]; then
这是我正在使用的bash脚本的一部分。
此外,我在哪里可以找到"标志"列表,以便将来参考?
-gt
是一个算术测试,表示大于。
您的条件检查变量CATEGORIZE
是否大于零。
引用help test
([
是一个称为test
的命令;help
是一个shell内置程序,提供有关shell内置程序的帮助):
arg1 OP arg2 Arithmetic tests. OP is one of -eq, -ne,
-lt, -le, -gt, or -ge.
-eq
:相等-ne
:不相等-lt
:小于-le
:小于或等于-gt
:大于-ge
:大于或等于
您也可以在算术上下文1中表示条件,方法是:
if ((CATEGORIZE > 0)); then
而不是
if [ $CATEGORIZE -gt 0 ]; then
1引用help '(('
:
(( ... )): (( expression ))
Evaluate arithmetic expression. The EXPRESSION is evaluated according to the rules for arithmetic evaluation. Equivalent to "let EXPRESSION". Exit Status: Returns 1 if EXPRESSION evaluates to 0; returns 0 otherwise.
-gt
的意思是"大于",算术比较
[
(特别地)是test
的别名(强制最后一个参数为]
,使其看起来像一对括号)。
bash
有自己的"内置"版本[
/test
,因此任何bash引用(例如man bash
、info bash
或http://www.gnu.org/software/bash/manual/)将对此进行文档记录,或者man [
/man test
应该为您提供标准独立版本的文档。
具体来说,本页概述了bash实现的命令,并列出了可用的运算符。
除了算术和字符串测试外,您可能还会遇到-e
测试,用于"文件存在",如[ -e /hard/coded/path/$variable_filename ]
bash还包括一个稍微扩展的版本,形式为[[ ... ]]
。