前言

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

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

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

[plain] view plaincopy
  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 "*************----------*********************"

转载于:https://www.cnblogs.com/xxyue/p/9174526.html

shell中字符串基本用法相关推荐

  1. shell中expect的用法

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

  2. shell实例第22讲:shell中分隔符IFS用法

    shell中分隔符IFS用法 1.什么是IFS? IFS在shell中是分隔符的意思,即IFS这个变量中存放了分隔符. 2.IFS是全局变量还是局部变量? (1)linux中变量分两种:全局变量env ...

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

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

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

    Shell中字符串.数值的比较 二元比较操作符,比较变量或者比较数字 整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如: ...

  5. linux 脚本map,shell中map的用法

    ##实例代码 #!/bin/bash cat ./switchsql.txt | while read line do tmp_partition_name=`echo $line | awk -F ...

  6. Shell中的join用法

    Shell中的join用法 将两个文件里指定栏位置同样的行连接起来, 即依照两个文件中共同拥有的某一列, 将相应的行拼成一行(原文件不改变) 内连接(忽略不匹配的行) join file1 file2 ...

  7. Shell中的until用法

    Shell中的until用法 基本格式: until CONDITIONdostatementdone    说明:     until进入循环的条件是:condition不成立时,就执行循环.    ...

  8. shell 中TR的用法,大小写转化

    shell 中TR的用法,大小写转化 1. 用tr 例如:UPPERCASE=$(echo $VARIABLE | tr '[a-z]' '[A-Z]') (把VARIABLE的小写转换成大写)LOW ...

  9. shell 中的expect 用法

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

最新文章

  1. 使用链路聚合进行负载分担
  2. ClassLoader.getSystemResourceAsStream()
  3. linux中怎样进入桌面目录,linux – 如何获得给定用户“桌面路径”
  4. 从实例到数理来解析感知机学习算法(PLA)
  5. 空间谱专题13:联合解算DOA(ML/AP)
  6. mysql表缓冲大小可能设置过小_MySQL 5.7 my.cnf配置文件详解
  7. (十六)java中的String
  8. 从Mysql数据库中导入导出表结构
  9. Eclipse离线安装Svn插件
  10. NetSetMan Pro专业网络设置管理器
  11. 测量学1_测量学的基本知识
  12. Mugeda:代码分享
  13. 【谷歌浏览器】扫码登录不上解决方案
  14. 浅谈图片服务器的架构演进
  15. node.js 刷csdn博客访问量
  16. 容易发错音的英语单词及音标
  17. 华为云桌面,一站式云上数字化创作深度解读
  18. petalinux使用-终极教程
  19. 外卖优惠券返利分销系统saas系统
  20. vue create xxx创建项目过程中报错的解决方法

热门文章

  1. Java 技术篇 - 启动web服务接收浏览器请求并响应实例演示,解决socket响应浏览器显示中文乱码问题,web服务response响应设置浏览器显示字体方法
  2. Oracle 数据库-服务器端字符集查看方法
  3. Java 7 并发编程指南
  4. matlab读取/播放视频的函数(2)
  5. tomcat9扩展php 插件,Eclipse插件开发tomcat扩展
  6. mysql第一二章笔记_MYSQL必知必会读书笔记 第一章(基础)
  7. operator.itermgetter() (Python)
  8. class多项式(链表实现)
  9. 2.2.6 学习率衰减
  10. 【电磁场实验作业】有限差分法(FDM)求解静电场电位分布