#!/bin/sh#测试各种字符串比较操作。
#shell中对变量的值添加单引号,双引号和不添加的区别:对类型来说是无关的,即不是添加了引号就变成了字符串类型,
#单引号不对相关量进行替换,如不对$符号解释成变量引用,从而用对应变量的值替代,双引号则会进行替代
#author:tenfyguoA="$1"
B="$2"echo "输入的原始值:A=$A,B=$B"# 判断参数是否为空
if [ ! -n "$2" ]; thenecho "[-] Parameters of illegal !"helpexit 1
fi# 判断与0是否相等
pid_cnts=$(ps -ef | grep mysqld | grep -v grep | awk '{print $2}' | wc -l)if [ $pid_cnts -eq 0 ];thenecho "process mysqld is exception,please check."
elseecho "mysqld count = $pid_cnts."
fi#判断字符串是否相等
if [ "$A" = "$B" ];thenecho "[ = ]"
fi#判断字符串是否相等,与上面的=等价
if [ "$A" == "$B" ];thenecho "[ == ]"
fi#注意: ==的功能在[[]]和[]中的行为是不同的,如下
#如果$a以”a”开头(模式匹配)那么将为true
if [[ "$A" == a* ]];thenecho "[[ ==a* ]]"
fi#如果$a等于a*(字符匹配),那么结果为true
if [ "$A" == "a*" ];thenecho "==/"a*/""
fi#File globbing(通配) 和word splitting将会发生, 此时的a*会自动匹配到对应的当前以a开头的文件
#如在当前的目录中有个文件:add_crontab.sh,则下面会输出ok
#if [ "add_crontab.sh" == a* ];then
#    echo "ok"
#fi
if [ "$A" == a* ];thenecho "[ ==a* ]"
fi#如果$a等于a*(字符匹配),那么结果为true
if [ "$A" == "a*" ];thenecho "==/"a*/""
fi#字符串不相等
if [ "$A" != "$B" ];thenecho "[ != ]"
fi#字符串不相等
if [[ "$A" != "$B" ]];thenecho "[[ != ]]"
fi#字符串不为空,长度不为0
if [ -n "$A" ];thenecho "[ -n ]"
fi#字符串为空.就是长度为0.
if [ -z "$A" ];thenecho "[ -z ]"
fi#需要转义<,否则认为是一个重定向符号
if [ $A /< $B ];thenecho "[ < ]"
fiif [[ $A < $B ]];thenecho "[[ < ]]"
fi#需要转义>,否则认为是一个重定向符号
if [ $A /> $B ];thenecho "[ > ]"
fiif [[ $A > $B ]];thenecho "[[ > ]]"
fi

Shell字符串比较(等于、不等于、大于、小于、起始字符、结尾字符)相关推荐

  1. java字符串转义反转义,把lt; gt;转换成大于小于字符

    文章参考:https://blog.csdn.net/qq_34288630/article/details/83654415 java字符串转义,把<>转换成大于小于字符 java字符串 ...

  2. 【shell】大于小于不等于

    shell-大于小于不等于 背景 语法 背景 小弟我目前工作是嵌入式测试,为了提升工作效率,有时候会写一些shell脚本. 有一次写一个while循环我是这样写的 i=100 while $i> ...

  3. java比较时间的小时和分钟的等于和大于小于

    java比较时间的小时和分钟的等于和大于小于 SimpleDateFormat df = new SimpleDateFormat("HH:mm");Date nowTime = ...

  4. java mysql 语句中 大于 小于 等于 的写法

    在项目中使用 mybatis 写 sql 语句时,遇到需要进行大于小于比较的逻辑,在 sqlyog 中直接写 > 或 < 可以正常运行 sql ,但是项目启动起来就报 sql 错误异常. ...

  5. c语言中等于号和大于号的优先级,数学优先级

    1. 离散数学符号优先级 答:不是 不加括号,应先算pVq,在算pVr ,最后算→ 优先级为:┐> ∧ >∨>→> ←→ 2. 离散数学优先级简单问题 q∨p ∧r = q∨( ...

  6. Shell字符串比较

    Shell字符串比较  Shell 中整数比较方法及字符串的比较方法,如等于,不等于,大于,大于等于,小于,等等.  二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别. --------- ...

  7. 大于小于优化_以MySQL为例,详解数据库索引原理及深度优化

    本文内容主要来源于互联网上主流文章,只是按照个人理解稍作整合,后面附有参考链接. 一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引 ...

  8. 大于小于优化_架构 - 以MySQL为例,详解数据库索引原理及深度优化

    一.摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如 ...

  9. shell字符串处理

    转自:http://mcuos.com/thread-2357-1-1.html 一.构造字符串 直接构造 STR_ZERO=hello STR_FIRST="i am a string&q ...

  10. shell 字符串处理汇总(查找,替换等等)

    http://blog.chinaunix.net/uid-20771623-id-3841521.html shell 字符串处理汇总(查找,替换等等) 字符串: 简称"串".有 ...

最新文章

  1. 026_如何在MAC下输入主要国家货币符号?
  2. 5 分钟一次理解 Spring IOC !
  3. 【图像处理】透视变换 Perspective Transformation
  4. mysql 密码 You must reset your password using ALTER USER statement before executing this statement....
  5. Citrix Reciever更改https为http模式
  6. linux查询超线程,【转】Linux下判断一台机器是多少路,多少核,是否超线程的方法...
  7. QT 4.8.5支持电容触摸屏 和 鼠标
  8. 【大牛系列教学】靠着这份面试题跟答案
  9. 大数据||MapReduce编程模板
  10. docker的文件流处理_迁移到微服务与DevOps,微服务和Docker容器的全面实用指南
  11. python基础教程书籍-7本Python必读的入门书籍
  12. 15.看板方法---启动看板变革
  13. 小米手机插上android找不到驱动,小米手机连接电脑不显示文件怎么办?
  14. java gmail邮箱_Java - 谷歌邮箱发送邮件详解
  15. HLOJ486 种花小游戏
  16. python爬虫大众点评字体反爬
  17. 最大质因子递归解法python
  18. 微信二维码没有扫描id
  19. 黑客丛林之旅 第十关
  20. docker 安装及部署

热门文章

  1. Adobe illustrator 多个对象进行环形布局 - 连载22
  2. python习题集整理汇总
  3. 1978:【18NOIP普及组】标题统计
  4. 文件件服务器,文件件服务器
  5. qt 复制字符串_Qt字符串处理 QString用法总结(一)
  6. Java笔记-获取当前时间及对当前时间进行加减及时间对比
  7. Linux学习笔记-编译与链接的过程
  8. 32岁妈妈适合转行做软件测试吗,32+大龄妈妈,AMH偏低,可丽蓝助力好孕一次就中...
  9. 数组指定位置添加元素_数据结构--顺序表的9种基本运算,初始化,销毁,判断是否为空表,长度,求指定位置的元素值......
  10. 视觉开发需要什么程度的数学_软件开发需要学好数学吗?