Linux shell中如何把用户输入的一串数字(如电话号码)从字符串转换成数值使它可以进行计算

read -p "Phone Number (xxxxxxxx):" phone
if [[ $phone =~ \d{8}$ ]]; then
echo..........

shell脚本对变量类型没有限制,你输入数字,phone就可以直接当数值型来用。
只是这里的判断表达式中不支持直接正则匹配,你要用grep, sed, awk这些支持正则的工具才行,然后用 $? 取得执行状态来判断是否匹配成功。

read -p "Phone Number (xxxxxxxx):" phone
echo "$phone" | egrep "^[0-9]{8}$" >/dev/null
if [ $? -eq 0 ]; then
echo ....
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-17
获取要转换的字符串,直接当数值计算就行了
第2个回答  2013-04-17
你不用转换,shell下你当它是字符串它就是字符串,你当它数字它就是数字.
第3个回答  2013-04-17
获取要转换的字符串,直接当数值计算就行了
第4个回答  2013-04-17
你不用转换,shell下你当它是字符串它就是字符串,你当它数字它就是数字.
相似回答
大家正在搜