shell 文件 数字比较

shell 文件 数字比较

大家好,又见面了,我是全栈君。

echo ‘1.2*2’|bc




++++++++++++++++ 数字比较


方式1:


agm1=50


agm2=60




if [  3 -eq 3 -a  ${agm1} -ne ${agm2}  -a ${agm2} -gt ${agm1} -a ${agm1} -ge 50 -a ${agm1} -lt ${agm2} -a ${agm2} -le 60 -o 4 -gt 3  ]; then


  echo ‘yes’


else


  echo ‘no’


fi




方式2:


agm1=’ye’


agm2=’ye’




if [[ “$agm1” == “$agm2” &&  “$agm1” == ‘ye’ && 2 > 1 && 1 < 2  ]]; then


  echo ‘yes’


else


  echo ‘no’


fi




注意: 字符串比较必须加双引号




总结:


-f  文件是否存在


-d  目录是否存在


-s  文件存在且不为空


-e  存在的是目录或文件


-L  是否快捷链接




-r   文件是否可读


-w  文件是否可写


-x  文件是否可执行




-eq  是否相等


-ne  是否不等于


-ge  是否大于等于


-gt  是否大于


-le  是否小于等于 


-lt  是否小于




-a  且


-o  或




[ * ]   大括号一般字母可用


[[*]]   双大括号一般 && || > < >= <= == !=符合可用




上述相关可以在 help test 详细讲解




条件控制语句






获取内存大小: free -m |grep buffers\/|awk ‘{print $NF}’






判断是否数字:


#!/bin/bash


str=’123′


[ -n “`echo ${str}|sed ‘s#[0-9]##g’`” ] && {



  echo ‘no int’


  exit 1


}




或者

[ -n “`echo hello123|sed ‘s/[0-9]//g’`” ] && echo ‘no int’ || echo ‘is int’


本文转自cloves 51CTO博客,原文链接:http://blog.51cto.com/yeqing/1882627

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107988.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号