前言

今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享。

本片主要说明一些字符串比较中的注意事项

主要包括了字符串 相等、不等、长度、空字符串 以及逻辑与、逻辑或的内容,具体内容见下面的脚本:

  1. #!/bin/bash
  2. # test string order
  3. a="ss"
  4. b="abc"
  5. c="ss"
  6. echo "----------------------------------------------------------------------------"
  7. echo " test for string compare with \"!=\",\"=\",\"-z\",\"-n\",is a null str ;test string is \"$a\"  and \"$b\""
  8. echo "----------------------------------------------------------------------------"
  9. echo "*************----------*********************"
  10. echo "-----------"
  11. echo "test \"=\"  等号运算,比较两个字符串相等"
  12. echo "-----------"
  13. echo "if [ \$a = \$b ]; then  用=来比较两个字符串是否相等, 注意不是==符号 ,注意语句中的空格符号一定要预留好,下面的一些语句中的空格格式和本句类似"
  14. if [ $a = $b ]; then
  15. echo "$a == $b : a = b"
  16. else
  17. echo "-----------"
  18. echo "test \"!=\",不等号运算,比较两个字符串不相等"
  19. echo "-----------"
  20. if [ $a != $c ]; then
  21. echo "$a == $c :a !=c "
  22. else
  23. echo "$a == $c : a ==c "
  24. fi
  25. fi
  26. echo "-----------"
  27. echo "test \"-z\",字符串长度为0运算,为0返回真"
  28. echo "-----------"
  29. if [ -z $a ]
  30. then
  31. echo "-z $a : 字符串长度为 0"
  32. else
  33. echo "-z $a : 字符串长度不为 0"
  34. fi
  35. echo "-----------"
  36. echo "test \"-n\",字符串长度不为0运算,不为0返回真"
  37. echo "-----------"
  38. if [ -n $a ]
  39. then
  40. echo "-n $a : 字符串长度不为 0"
  41. else
  42. echo "-n $a : 字符串长度为 0"
  43. fi
  44. echo "-----------"
  45. echo "test is a null str"
  46. echo "-----------"
  47. if [ $a ]
  48. then
  49. echo "$a : 字符串不为空"
  50. else
  51. echo "$a : 字符串为空"
  52. fi
  53. a="aaa"
  54. b="bbb"
  55. echo "----------------------------------------------------------------------------"
  56. echo " test string  with \"&&\",\"||\";test string is \"$a\"  and \"$b\""
  57. echo "----------------------------------------------------------------------------"
  58. echo "-----------"
  59. echo "test \"&&\",逻辑与运算"
  60. echo "-----------"
  61. if [[ $a = $a && $b = $b ]]
  62. then
  63. echo "[[ \$a = \$a && \$b = \$b ]]返回 true"
  64. else
  65. echo "[[ \$a = \$a && \$b = \$b ]]返回 false"
  66. fi
  67. echo "-----------"
  68. echo "test \"||\",逻辑或运算"
  69. echo "-----------"
  70. if [[ $a = $b || $b = $b ]]
  71. then
  72. echo "[[ \$a = \$b || \$b = \$b ]]返回 true"
  73. else
  74. echo "[[ \$a = \$b || \$b = \$b ]]返回 false"
  75. fi
  76. echo "*************----------*********************"

shell中字符串基本用法的更多相关文章

  1. (转)Shell中read的用法详解

    Shell中read的用法详解 原文:http://blog.csdn.net/jerry_1126/article/details/77406500 read的常用用法如下: read -[pstn ...

  2. shell中字符串操作【转】

    转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...

  3. Shell中字符串、数值的比较

    原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较:    -eq       等于 ...

  4. shell中的EOF用法

    重定位运算符 >> 是追加内容> 是覆盖原有内容 1.EOF Shell中通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止 ...

  5. shell 中的expect 用法

    expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: ...

  6. 转shell中的awk用法详解

        awk语言的最基本功能是在文件或字符串中基于指定规则浏览和抽取信息,awk抽取信息后,才能进行其他文本操作,完整的awk脚本通常用来格式化文本文件中的信息 调用awk:   第一种,命令行方式 ...

  7. shell中case的用法学习笔记

    这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码. 本文转自:http://www.jbxue.com/article ...

  8. shell中set的用法(转)

    使用set命令可以设置各种shell选项或者列出shell变量.单个选项设置常用的特性. 在某些选项之后-o参数将特殊特性打开.在某些选项之后使用+o参数将关闭某些特性, 不带任何参数的set命令将显 ...

  9. 在shell 中字符串,文件,数字的比较

    hadoop fs -test -e /path/exist ] ;then echo 'exist' else echo 'Error! path is not exist' fi 在shell中如 ...

随机推荐

  1. 关于MySQL AUDIT(审计)那点事

    2017年06月02日MySQL社区版本最新版为MySQL_5.7.18,但是该版本不带AUDIT功能(MySQL Enterprise Edition自带AUDIT功能),因此需要加载plugin( ...

  2. Gym 100886J Sockets 二分答案 + 贪心

    Description standard input/outputStatements Valera has only one electrical socket in his flat. He al ...

  3. PHPCMS的自增长标签

    设置幻灯片的时候,需要用到自增长ID. <div class="tt_pic"><img src="images/1.gif" />&l ...

  4. SharePoint 2010开发方面的课堂中整理有关问题

    SharePoint 2010开发方面的课堂中整理有关问题 这是我这几天在做一个SharePoint开发的课程的时候,大家提出的一些问题,及我的解答,分享给更多的朋友参考一下 这个文档,也可以在这里下 ...

  5. 引用 Session详解 作者:郎云鹏

    本文转载自leeldy<Session详解 作者:郎云鹏>   引用 leeldy 的 Session详解 作者:郎云鹏 目录: 一.术语session 二.HTTP协议与状态保持 三.理 ...

  6. Unity C# 运用 GetSaveFileName() 导出Excel文件

    本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6944870.html 唉哟,这次厉害咯,网上搜罗了好久,终于被我找到汉化的保存对话框了,根 ...

  7. Unity C# 调用SaveFileDialog保存Excel文件

    本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6893934.html 本文学习如何把数据转存为Excel文件并调用SaveFileDial ...

  8. CCflow6 的使用

    sELECT * FROM WF_GENERWORKFLOW        WHERE WorkID=00000 -- 查看流程状态 wf_selectaccpter --查看流程某个节点下的人员 M ...

  9. Android Asynchronous Http Client

    Features Make asynchronous HTTP requests, handle responses in anonymous callbacks HTTP requests happ ...

  10. Java项目—嗖嗖移动业务大厅

    嗖嗖移动业务大厅包类(如下图): SosoMgr: package cn.biz; import java.util.Scanner; import cn.common.Common; import ...