1 sed 加正则表达式
# 判断两个参数都要是数字
[ -n "$(echo $1|sed 's#[0-9]##g')" -a -n "$(echo $2|sed 's#[0-9]##g')" ] && \
echo "两个参数必须为数字"
或
[ -n "$(echo $1|sed 's#[0-9]##g')" -a -n "$(echo $2|sed 's#[0-9]##g')" ] && {
echo "两个参数必须为数字"
exit 1
}
2 变量的子串替换加正则表达式
1) [ -z ${num//0-9/} ] 把变量中的数字替换为空后 ,查看长度是否为0 ,是就表示 是数字
2) [ -n ${num} -a "${num}" = "${num//[^0-9]/}" ] 把变量中的非数字替换为空后,查看是否等于本身
3 expr
expr $num + 0;[ $? -eq 0 ]&& echo "是数字" || echo "不是数字"
转载于:https://blog.51cto.com/13497842/2049149