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

问题描述 投票:0回答:2

给出以下代码:

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

如果Max等于某个数字(设置),我如何在“HERE”查看?

bash
2个回答
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" ]
...

请注意,第二个示例是进行字符串比较,这可以解决一些令人头疼但可能会伤害纯粹主义者的敏感性。


0
投票

很酷!

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

尝试运行echo $(( definitelyNotAGivenName))它出来零,很酷!

您可以使用圆括号进行算术比较 - 请参阅更多herehere

© www.soinside.com 2019 - 2024. All rights reserved.