整数比较

-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))

字符串比较
= 等于,如:if [ "$a" = "$b" ]
== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true
2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true
3
4 [ $a == z* ] # File globbing 和word splitting将会发生
5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true
一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.
但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.
!= 不等于,如:if [ "$a" != "$b" ]
这个操作符将在[[]]结构中使用模式匹配.
< 小于,在ASCII字母顺序下.如:
if [[ "$a" < "$b" ]]
if [ "$a" < "$b" ]
注意:在[]结构中"<"需要被转义.
> 大于,在ASCII字母顺序下.如:
if [[ "$a" > "$b" ]]
if [ "$a" > "$b" ]
注意:在[]结构中">"需要被转义.
具体参考Example 26-11来查看这个操作符应用的例子.
-z 字符串为"null".就是长度为0.
-n 字符串不为"null"
注意:
使用-n在[]结构中测试必须要用""把变量引起来.使用一个未被""的字符串来使用! -z
或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.

转载于:https://www.cnblogs.com/yifan268/archive/2009/06/22/1508288.html

shell下数字和字符串比较操作命令相关推荐

  1. shell的数字、字符串处理

    1.显示小数点前的0 由于bc计算器目前还不支持显示小数点前的0,所以我们要用一用强大的awk工具啦! 例如: echo "scale=2; 0.13 + 0.1" | bc |  ...

  2. shell中if条件字符串、数字比对,[[ ]]和[ ]区别

    原文:https://www.cnblogs.com/include/archive/2011/12/09/2307905.html shell括号 学习shell的时候总是被shell里的条件判断方 ...

  3. shell中if条件字符串、数字比对,` `和[ ]区别

    引用: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_205 ...

  4. [转载] python字符串只留数字_Python工匠:数字与字符串(下)

    参考链接: Python字符串| rsplit " 编程某种意义上是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目. " 致"匠人" ...

  5. shell 日期类与字符串转数字的基本操作

    数字类型字符串转数字的方法 字符串转换成数字有方法: $[] $(()) expr let 举例 shell里面怎么样把字符串转换为数字? 例如:a="024" 用${{a}} 用 ...

  6. linux SHELL下替代sed、ask的常用字符串处理(截取,判断、替换)

    在学过sed.awk这类功能强大的文本流处理命令后,面对简单字符串处理,往往会忘记一种更高效简洁的方法,它就是SHELL内置的字符串处理. 1.字符串的判断与赋值. 表达式 含义 ${var} 变量v ...

  7. linux循环目录下目录,Shell循环列出目录下所有文件或查找目录下包含指定字符串的文件...

    一.循环列出目录下所有文件 #!/bin/bash function frfile() { local basefolder=$1 echo $basefolder #local filename f ...

  8. shell比较两个字符串是否相等

    比较两个字符串是否相等的办法是: if [ "$test"x = "test"x ]; then 这里的关键有几点: 1 使用单个等号 2 注意到等号两边各有一 ...

  9. shell编程范例之字符串操作[转]

    shell编程范例之字符串操作 下面是"在线新华字典"的解释: 字符串: 简称"串".有限字符的序列.数据元素为字符的线性表,是一种数据的逻辑结构.在计算机中可 ...

最新文章

  1. 一个IP绑定多个域名(虚拟主机)设置方法
  2. How is syntax error in Vue detected
  3. 网络信号管理大师怎么用_常说的OKR管理法,到底怎么用?
  4. A start job is running for Raise network interface(5min 13s )问题解决方法
  5. LeetCode OJ - Convert Sorted List to Binary Search Tree
  6. Java压缩技术(三) ZIP解压缩——Java原生实现
  7. 河南大学计算机与信息工程学院张磊,张磊-食品与生物工程学院
  8. vue 组件需要注意的事项:
  9. 一道不知道哪里来的贪心题
  10. matlab 图像特征 代码,数字图像特征提取+matlab源代码
  11. JDK动态代理为什么必须要基于接口
  12. 2021 年百度之星·程序设计大赛 - 初赛二
  13. fanuc系统网络服务器,FANUC的网络配置.doc
  14. 基于python的爬虫毕业论文_基于python网络爬虫及数据处理毕业论文 相关实例(示例源码)下载 - 好例子网...
  15. 字节跳动实习面试:三面无修改公开,看看他到底通过了吗?
  16. 翟菜花:《完美世界》手游大火,大文娱的卡路里能释放多少热量?
  17. VS code 创建html文件后 !失效的解决
  18. 【软件工程】需求规格说明书
  19. 荣耀上线“荣耀亲选”对标有品,小米要当心了!
  20. RAKE(快速自动关键字抽取)算法原理与实现

热门文章

  1. java jvm 加载类的顺序_java JVM-类加载静态初始化块调用顺序
  2. 深拷贝的缺点_拷贝?还傻傻分不清深浅?
  3. ffmpeg编译android,FFMPEG Android(2) 编译编译静态ffmpeg可执行文件
  4. decorator php,php设计模式 Decorator(装饰模式)
  5. linux tcb,在Linux中从潜藏密码迁移至tcb怎么做?
  6. java 10进制转 000x_java 如何把 00 转换成 0x00 或者 10 转换成 0x10
  7. yum删除mysql数据库_MySQL数据库之Centos中彻底删除Mysql(rpm、yum安装的情况)
  8. Python 中的可执行对象 eval,exec 和 compile与其在深度学习训练中的应用实例
  9. java安全(六)java反序列化2,ysoserial调试
  10. 爱特php文件管理器2.8_查找「超级蜘蛛池开发者中心 抠:44564876易」安卓应用 - 豌豆荚...