我创建了一个执行正则表达式检查的简单函数:
function is_number()
{
return [[ "$1" =~ ^-?[0-9]+$ ]]
}
我得到的是
return: [[: numeric argument required
我做错了什么?
答案 0 :(得分:5)
您不需要return
声明。函数的返回值是最后一个语句的退出代码。所以这就足够了:
function is_number()
{
[[ "$1" =~ ^-?[0-9]+$ ]]
}
使用显式return
语句的相当于:
function is_number()
{
[[ "$1" =~ ^-?[0-9]+$ ]]
return $?
}
但不要这样做,这是毫无意义的。