我有一个验证数值的函数,并想在if
语句中使用它。
num=3
if numeric -I "$num"
then
printf '%s\n' "$num is numeric integer"
fi
有没有一种方法numeric -I "$num"
可以像[]
, [[]]
, and那样组合在一起(())
?
答案1
numeric -I "$num"
与[]
、[[]]
、 和组合在一起(())
。
或[ ]
的主要目的是对里面的内容做不同的事情,而不是分组。您可以使用;对命令进行分组允许以这种方式对一个命令进行分组。您可以使用 在子 shell 中运行命令,在这种情况下几乎没有什么区别。[[ ]]
(( ))
{ }
( )
所以if { numeric -I "$num"; }
或者if (numeric -I "$num")
应该有效。完全没有必要,但如果这是你想要的......