我一直在尝试找出一种方法来使用命令 expr 来测试参数是否为数字。
到目前为止,在我的脚本中,我写过:
expr $1 + 1 2>/dev/null
if [ $? -eq 2 -o $1 -lt 0 ]
then
echo "$1 is not a positive integer" >&2
exit 1
fi
我在这里要做的是将 1 添加到变量中。如果这引发错误(这意味着变量不是数字),结果将被发送到 /dev/null。之后,我测试返回码是否为 2 或变量是否小于 0。但这似乎不起作用......有什么想法吗?
PS请记住,我必须使用expr