Vera Asked: 2021-10-27 06:30:31 +0800 CST2021-10-27 06:30:31 +0800 CST 2021-10-27 06:30:31 +0800 CST 在 bash 条件语句中使用自定义测试函数 772 我有一个名为 bash 的函数numeric,它返回1or 或0. numeric () { # compute k either 1 or 0 echo "$k" } 如何在条件语句中使用此函数来检查变量var是否为数字? bash function 2 个回答 Voted Best Answer AdminBee 2021-10-27T06:48:47+08:002021-10-27T06:48:47+08:00 请记住,在 shell 条件表达式的上下文中,返回值0表示“成功”或“真”,非零值表示“失败”或“假”,所以我建议调整函数以使其返回0if参数是一个数值。 假设“条件语句”是一个if构造,以下将起作用: if numeric "$var" then # Code if $var is numeric else echo "$var is not numeric" fi alecxs 2021-11-01T07:59:00+08:002021-11-01T07:59:00+08:00 使用回报 numeric () { # compute k either 1 or 0 || return 1 echo "$k" return 0 } numeric || exit 1
请记住,在 shell 条件表达式的上下文中,返回值
0
表示“成功”或“真”,非零值表示“失败”或“假”,所以我建议调整函数以使其返回0
if参数是一个数值。假设“条件语句”是一个
if
构造,以下将起作用:使用回报