Shell 脚本中的变量

Shell 脚本中的变量

我想找到一个变量,无论是整数还是字符串。我无法用 if 条件来表达正确的条件。请帮我解决这个问题。

答案1

Bash 中的变量没有类型,因此需要检查变量的内容。

这个帖子在 stackoverflow 上建议这样做:

re='^[0-9]+$'
if ! [[ $yournumber =~ $re ]] ; then
   echo "error: Not a number" >&2; exit 1
fi

除了接受的答案外,我特别喜欢这个答案,因为它适用于科学计数法:

isnum() { awk -v a="$1" 'BEGIN { exit(1-(a==a+0)) }'; }

相关内容