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

read-p"PhoneNumber(xxxxxxxx):"phoneif[[$phone=~\d{8}$]];thenecho............. read -p "Phone Number (xxxxxxxx):" phone
if [[ $phone =~ \d{8}$ ]]; then
echo..........
展开
 我来答
百度网友5311d79
2013-04-17 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3221万
展开全部
shell脚本对变量类型没有限制,你输入数字,phone就可以直接当数值型来用。
只是这里的判断表达式中不支持直接正则匹配,你要用grep, sed, awk这些支持正则的工具才行,然后用 $? 取得执行状态来判断是否匹配成功。

read -p "Phone Number (xxxxxxxx):" phone
echo "$phone" | egrep "^[0-9]{8}$" >/dev/null
if [ $? -eq 0 ]; then
echo ....
匿名用户
2013-04-17
展开全部
获取要转换的字符串,直接当数值计算就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DeanSinaean
2013-04-17 · TA获得超过629个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:269万
展开全部
你不用转换,shell下你当它是字符串它就是字符串,你当它数字它就是数字.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式