shell判断输入的是数字还是字符串

#!/bin/bash
check_input(){
    read -p "请输入,要想退出请输入q:  " input
    [ -z $input ] && {
        echo "你输入的是空"
        continue
    }
    [ "$input" == "q" ] && exit 1
    result=`echo "$input*1"|bc`
    if [ $? -ne 0 ];then 
        echo "输入的[$input]是字符串"
    else
        if [ $result -eq 0 ];then
            echo "输入的[$input]是字符串"
        else
            echo "你输入的[$input]是数字"
        fi
    fi
}
main(){
    while true
    do
        check_input   
    done
}
main


]# bash check-input-type.sh 
请输入,要想退出请输入q:  !dadsaf
你输入的[!dadsaf]是数字
请输入,要想退出请输入q:  34323
你输入的[34323]是数字
请输入,要想退出请输入q:  aaf
输入的[aaf]是字符串
请输入,要想退出请输入q:  q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值