Linux shell中如何把用户输入的一串数字(如电话号码)从字符串转换成数值使它可以进行计算
read-p"PhoneNumber(xxxxxxxx):"phoneif[[$phone=~\d{8}$]];thenecho.............
read -p "Phone Number (xxxxxxxx):" phone
if [[ $phone =~ \d{8}$ ]]; then
echo.......... 展开
if [[ $phone =~ \d{8}$ ]]; then
echo.......... 展开
3个回答
展开全部
shell脚本对变量类型没有限制,你输入数字,phone就可以直接当数值型来用。
只是这里的判断表达式中不支持直接正则匹配,你要用grep, sed, awk这些支持正则的工具才行,然后用 $? 取得执行状态来判断是否匹配成功。
read -p "Phone Number (xxxxxxxx):" phone
echo "$phone" | egrep "^[0-9]{8}$" >/dev/null
if [ $? -eq 0 ]; then
echo ....
只是这里的判断表达式中不支持直接正则匹配,你要用grep, sed, awk这些支持正则的工具才行,然后用 $? 取得执行状态来判断是否匹配成功。
read -p "Phone Number (xxxxxxxx):" phone
echo "$phone" | egrep "^[0-9]{8}$" >/dev/null
if [ $? -eq 0 ]; then
echo ....
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |