当前位置:  技术问答>linux和unix

关于rehat Enterprise 6.1 grep的诡异问题

    来源: 互联网  发布时间:2017-01-31

    本文导语:  安装好rhel6.1, 运行: echo 22|grep [0-9] 查看返回值:echo $? 结果为:0 然后将个安装好的系统使用ghost11.exe进行备份,再在另外一台机器上面进行还原,再次运行上面的命令 echo 22|grep [0-9] echo $? 结果为:1 为了保...

安装好rhel6.1,
运行: echo 22|grep [0-9]
查看返回值:echo $?
结果为:0

然后将个安装好的系统使用ghost11.exe进行备份,再在另外一台机器上面进行还原,再次运行上面的命令
echo 22|grep [0-9]
echo $?
结果为:1

为了保证22为数字,我又使用了一下语句:
echo 22|awk '{printf("%d", $1)}'|grep [0-9]
echo $?
结果还是:1
也就是现在grep出来的结果不认为22是个数字。

不知道是因为ghost在备份或者还原的过程中丢失了什么东西,还是rhel6.1的问题。
请教各位,在shell编程时是否还有更好的办法来判断一个参数是否为一个数字。

|
以前在网上看到一个挺好的判断参数是否为数字的方法:
#!/bin/sh
var=$(echo $1|bc 2>/dev/null)
if [[ $var != $1 ]]        
then
        echo "$1 isn't a number!"
        exit 1
fi
if echo $1|grep "." >/dev/null 2>&1
        then
        echo "$1 is float a number!"
        else
        echo "$1 is integer a number!"
fi

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问在rehat7.2字符界面下如何更改系统的日期和时间???
  • rehat9.0系统,无法修改密码、增加用户
  • rehat安装yum install screen时报错
  • 我装的是rehat9,请问安装什么版本的mysql,官方网上有很多版本,该下哪一个呢?
  • 如何扩展根目录的lv rehat 5
  • rehat as3 版本在安装后启动到一定的阶段就死了,好像到出现first boot这里


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3