-gt
在这里意味着什么:
if [ $CATEGORIZE -gt 0 ]; then
这是我正在使用的bash脚本的一部分。
另外,我在哪里可以找到那里的“旗帜”清单,以便将来可供参考?
答案 0 :(得分:4)
-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.
答案 1 :(得分:2)
-gt
表示“大于”,算术比较
[
(特别)是test
的别名(强制性的最后一个参数]
,以使其看起来像一对括号)。
bash
有自己的“内置”版本[
/ test
,因此任何bash引用(例如man bash
,info bash
或{{3 }}将记录该文件,或man [
/ man test
应该为您提供标准独立版本的文档。
具体而言,http://www.gnu.org/software/bash/manual/和this page gives an overview of the command, as implemented by bash。
除了算术和字符串测试之外,您可能会遇到-e
测试,因为“文件存在”,如[ -e /hard/coded/path/$variable_filename ]
bash还包含一个稍微扩展的版本this page lists the available operators。