Shell基本运算符

1、字符串运算符

常用的字符串运算符

运算符

说明

例子

=

检测两字符串是否相等,相等返回true

[ $a = $b ]

!=

检测两个字符串是否部相等,不相等返回true

[ $a != $b ]

-z

检测字符串长度是否为0,为0返回true

[ -z $a ]

-n

检测字符串长度是否0,不为0返回true

[ -n “$a” ]

$

检测字符串是否为空,不为空返回true

[ $a ]

示例

  1. #!/bin/bash
  2. ###本脚本写于20190905
  3. ###本脚本主要用于字符串运算符
  4. if [ ! $1 ]
  5. then
  6. echo "第一个参数为空"
  7. echo "****************************************************************"
  8. echo "****************************************************************"
  9. echo "**************执行用例的格式为:sh $0 变量1 变量2***************"
  10. echo "****************************************************************"
  11. echo "****************************************************************"
  12. break
  13. else
  14. if [ ! $2 ]
  15. then
  16. echo "第二个参数为空"
  17. echo "****************************************************************"
  18. echo "****************************************************************"
  19. echo "**************执行用例的格式为:sh $0 变量1 变量2***************"
  20. echo "****************************************************************"
  21. echo "****************************************************************"
  22. break
  23. else
  24. ###1、检测两个字符串是否相等;
  25. if [ $1 = $2 ]
  26. then
  27. echo "这是第一个判断语句"
  28. echo "变量1等于变量2"
  29. else
  30. echo "这是第一个判断语句"
  31. echo "变量1不等于变量2"
  32. fi
  33. ###2、检测两个字符串是否不相等;
  34. if [ $1 != $2 ]
  35. then
  36. echo "这是第二个判断语句"
  37. echo "变量1不等于变量2"
  38. else
  39. echo "这是第二个判断语句"
  40. echo "便量1等于变量2"
  41. fi
  42. ###3、检测字符串长度是否为0
  43. if [ -z $1 ]
  44. then
  45. echo "这是第三个判断段语句"
  46. echo "变量1字符串长度为0"
  47. else
  48. echo "这是第三个判断段语句"
  49. echo $1
  50. fi
  51. ###4、检测字符串长度是否不为0
  52. if [ -n $2 ]
  53. then
  54. echo "这是第四个判断语句"
  55. echo "变量2字符串长度不为0"
  56. echo $2
  57. else
  58. echo "这是第四个判断语句"
  59. echo "变量2字符串长度为0"
  60. fi
  61. ###5、检测字符串是否不为空
  62. if [ $1 ]
  63. then
  64. echo "这是第五个判断语句"
  65. echo "变量1不为空"
  66. else
  67. echo "这是第五个判断语句"
  68. echo "变量1为空"
  69. fi
  70. fi
  71. fi

  

Shell基本运算符之字符串运算符的更多相关文章

  1. shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符

    shell运算符有很多,关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符 1,算术运算符 原声bash 不支持简单的算术运算,可以使用expr 工具 两点注意: 表达式和运算符之间要有 ...

  2. 【Shell脚本学习10】Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等

    Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最 ...

  3. 004-Shell 基本运算符、算术运算符、关系运算符、布尔运算符、辑运算符、字符串运算符、文件测试运算符

    一.概述 Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 二.算术运算符 原生bash不支持简单的数学运算,但是可以通过其他命 ...

  4. PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符

    1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 ...

  5. PHP运算符:算数运算符、逻辑运算符、三目运算符、位运算符、字符串运算符。

    赋值运算符 PHP 赋值运算符用于向变量写值. PHP 中基础的赋值运算符是 "=". 这意味着右侧复制表达式会为左侧运算数设置值. _______________________ ...

  6. shell脚本之 operater.sh 算术运算符;比较运算符;布尔运算符;逻辑与或非运算符;字符串运算符的使用

    1.注意 格式不能变 尤其是变量和变量表达式之间的空格:[ 空格] .[ $a == $b ] 中间的空格严格不能变:否则报错 关系运算符 关系运算符只支持数字,不支持字符串,除非字符串的值是数字. ...

  7. Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等

    摘自:http://c.biancheng.net/cpp/view/2736.html

  8. JavaScript中字符串运算符的使用

    字符串运算符是用于两个字符串型数据之间的运算符,它的作用是将两个字符串连接起来.在JavaScript中,可以使用+和+=运算符对两个字符串进行连接运算.其中,+运算符用于连接两个字符串,而+=运算符 ...

  9. PHP运算符-算术运算符、三元运算符、逻辑运算符

    运算符是用来对变量.常量或数据进行计算的符号,它对一个值或一组值执行一个指定的操作.PHP的运算符包括算术运算符.字符串运算符.赋值运算符.位运算符.逻辑运算符.比较运算符.递增或递减运算符.错误控制 ...

随机推荐

  1. 三、动态SQL

    动态SQL MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. 动态SQL的元素 元素 作用 备注 if 判断语句 单条件分支判断 choose.whe ...

  2. Bag of Tricks for Image Classification with Convolutional Neural Networks

    url: https://arxiv.org/abs/1812.01187 year: 2018 文中介绍了训练网络的一些 tricks, 通过组合训练过程的trick,来提高模型性能和泛化能力,以及 ...

  3. JS 查找数组的父节点及祖先节点

    function findAllParent(node, tree, parentNodes=[], index = 0){ if(!node || node.parentId === 0){ ret ...

  4. zabbix 监控项报"Value "(No info could be read for "-p": geteuid()=1002 but you should be root"

    zabbix 监控项报错如下: “Value "(No info could be read for "-p": geteuid()=1002 but you shoul ...

  5. java war包 路径--解决war包中文件路径问题

    https://blog.csdn.net/u013409283/article/details/51480948 转自:http://free-chenwei.iteye.com/blog/1507 ...

  6. 常见跨域解决方案以及Ocelot 跨域配置

    常见跨域解决方案以及Ocelot 跨域配置 Intro 我们在使用前后端分离的模式进行开发的时候,如果前端项目和api项目不是一个域名下往往会有跨域问题.今天来介绍一下我们在Ocelot网关配置的跨域 ...

  7. UI设计中,文本底部添加下换线

    最近在开发项目,针对小程序前端,显示文本需要添加下划线问题,起初是通过border-bottom:1rpx solid #eee; 进行编写,但是总是觉得线的高度过于粗,移动端最小单位值是 1  即: ...

  8. hibernate关联关系(一对多)

    什么是关联(association) 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性. 案例:如何建立客户和订单一对多双向关联 先不建立客户和订单的关联关系,定义 ...

  9. C#中巧用Lambda进行数据的筛选查询等处理

    场景 有一个Record对象的list,如果要根据其某个属性CycleIndex进行分组,类似于sql的group by分组查询. 如果要在这个这个list中查找出符合某种条件的数据,类似于sql的w ...

  10. JavaWeb之Fliter & Listener

    Fliter & Listener Listener 监听器 作用 监听某一事件的发生.状态的改变. 监听器内部实现机制 接口回调 接口回调 A在执行循环,当循环到5的时候, 通知B. 事先先 ...