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

read -p "Phone Number (xxxxxxxx):" phoneif [[ $phone =~ 尀d{8}$ ]]; then echo..........
2025-01-07 05:53:31
推荐回答(3个)
回答1:

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

read -p "Phone Number (xxxxxxxx):" phone
echo "$phone" | egrep "^[0-9]{8}$" >/dev/null
if [ $? -eq 0 ]; then
echo ....

回答2:

获取要转换的字符串,直接当数值计算就行了

回答3:

你不用转换,shell下你当它是字符串它就是字符串,你当它数字它就是数字.