OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

(( )) - 为整数设计

除了 [[]] 复合命令, 打坏 还提供了 (()) 复合命令,用于对整数进行运算。 它支持一整套算术评估,我们将在第 34 章中全面介绍这个主题。

(()) 用于执行 算术真题测试. 如果算术评估的结果非零,则算术真值测试结果为真。



[我@linuxbox ~]$ 如果((1)); 然后 echo "这是真的。"; 菲

是真的。

[我@linuxbox ~]$ 如果((0)); 然后 echo "这是真的。"; 菲

[我@linuxbox ~]$

[我@linuxbox ~]$ 如果((1)); 然后 echo "这是真的。"; 菲

是真的。

[我@linuxbox ~]$ 如果((0)); 然后 echo "这是真的。"; 菲

[我@linuxbox ~]$


运用 (()),我们可以稍微简化一下 测试整数2 像这样的脚本:


#!/斌/庆典


# test-integer2a:评估一个整数的值。


智力=-5


如果 [[ "$INT" =~ ^-?[0-9]+$ ]]; 那么如果 ((INT==0)); 然后

echo "INT 为零。"

其他

if ((INT < 0)); 然后

echo "INT 是否定的。"

其他

echo "INT 为正。"

fi

if ((((INT % 2)) == 0)); 然后

echo "INT 是偶数。"

其他

echo "INT 很奇怪。"

fi

#!/斌/庆典


# test-integer2a:评估一个整数的值。


智力=-5


如果 [[ "$INT" =~ ^-?[0-9]+$ ]]; 那么如果 ((INT==0)); 然后

echo "INT 为零。"

其他

if ((INT < 0)); 然后

echo "INT 是否定的。"

其他

echo "INT 为正。"

fi

if ((((INT % 2)) == 0)); 然后

echo "INT 是偶数。"

其他

echo "INT 很奇怪。"

fi



echo "INT 不是整数。" >&2 退出1

fi


echo "INT 不是整数。" >&2 退出1

fi

请注意,我们使用小于号和大于号,并且 == 用于测试等效性。 这是处理整数的更自然的语法。 还要注意,因为复合命令 (()) 是 shell 语法的一部分而不是普通命令,它只处理整数,它能够通过名称识别变量,不需要执行扩展。 我们将讨论 (()) 以及第 34 章中进一步的相关算术展开。


OnWorks 的顶级操作系统云计算: