整數的重要特徵就是隻是包含數字0到9和負號(-)。
[root@xieqichao ~]# cat > test16.sh
#!/bin/sh
#1. 判斷變量number的第一個字符是否爲負號(-),如果只是則刪除該負號,並將刪除後的結果賦值給left_number變量。
#2. "${number#-}"的具體含義,可以參考該系列博客中"Linux Shell常用技巧(十一)",搜索關鍵字"變量模式匹配運算符"即可。
number=$1
if [ "${number:0:1}" = "-" ]; then
left_number="${number#-}"
else
left_number=$number
fi
#3. 將left_number變量中所有的數字都替換掉,因此如果返回的字符串變量爲空,則表示left_number所包含的字符均爲數字。
nodigits=`echo $left_number | sed 's/[[:digit:]]//g'`
if [ "$nodigits" != "" ]; then
echo "Invalid number format!"
else
echo "You are valid number."
fi
CTRL+D
[root@xieqichao ~]# ./test16.sh -123
You are valid number.
[root@xieqichao ~]# ./test16.sh 123e
Invalid number format!