问答详情
源自:4-2 shell多分支if语句例:计算器

如果变量值既包含数字又包含字母,用sed判断后,返回也是为空

如果传入的值包含字母,比如23d这样的值,最后返回的也是空,这样就会出问题,比如a=34d , b=$(echo $a | sed 's/[0-9]//g'),echo$b 返回的就是空

提问者:Warren_Qian 2018-10-01 23:02

个回答

  • 追星逐月
    2018-10-08 15:36:26

    不会返回空,sed 's/[0-9]//g'这段代码只是替换数字而已,遇到字母不会替换,所以最后得到的是去掉数字后的字符串

  • 6396098
    2018-10-08 12:25:17

    root@debian:~# a=34d
    root@debian:~# b=$(echo $a | sed 's/[0-9]//g'); echo $b
    d
    
    我测试没问题呀