如何检查是否已设置需要包含数字的变量?

时间:2018-07-05 16:18:41

标签: bash

给出以下代码:

Max=
if [[ something exists.. ]]; then
     Max=2
// .. more code that can changes the value of Max
fi
// HERE

如何在“ HERE”处检查Max是否等于某个数字(已设置)?

2 个答案:

答案 0 :(得分:0)

酷!

Max默认情况下设置为空值,在算术上下文中使用时,该值将返回零。例如:

尝试运行echo $(( definitelyNotAGivenName)),结果为零,很酷!

您可以使用圆括号进行算术比较-了解更多herehere

答案 1 :(得分:0)

if [ -z "$Max" ]
then
  echo "Max: not set"
else if [ $Max -eq some_number ]
then
  echo "Max is equal to some number"
else
  echo "Max is set but not equal to some number"
fi

if [ -n "$Max" -a "$Max" = "some_number" ]
...

请注意,第二个示例正在进行字符串比较,可以解决一些头痛问题,但可能会损害纯粹主义者的敏感性。