• shell中字符串基本用法


    前言

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

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

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

    1. #!/bin/bash  
    2. # test string order  
    3.   
    4. a="ss"  
    5. b="abc"  
    6. c="ss"  
    7.   
    8. echo "----------------------------------------------------------------------------"  
    9. echo " test for string compare with "!=","=","-z","-n",is a null str ;test string is "$a"  and "$b""  
    10. echo "----------------------------------------------------------------------------"  
    11.   
    12. echo "*************----------*********************"  
    13.   
    14. echo "-----------"  
    15. echo "test "="  等号运算,比较两个字符串相等"  
    16. echo "-----------"  
    17. echo "if [ $a = $b ]; then  用=来比较两个字符串是否相等, 注意不是==符号 ,注意语句中的空格符号一定要预留好,下面的一些语句中的空格格式和本句类似"  
    18. if [ $a = $b ]; then  
    19.     echo "$a == $b : a = b"  
    20. else  
    21.     echo "-----------"  
    22.     echo "test "!=",不等号运算,比较两个字符串不相等"  
    23.     echo "-----------"  
    24.     if [ $a != $c ]; then  
    25.         echo "$a == $c :a !=c "  
    26.     else  
    27.         echo "$a == $c : a ==c "  
    28.     fi  
    29. fi  
    30. echo "-----------"  
    31. echo "test "-z",字符串长度为0运算,为0返回真"  
    32. echo "-----------"  
    33. if [ -z $a ]  
    34. then  
    35.     echo "-z $a : 字符串长度为 0"  
    36. else  
    37.     echo "-z $a : 字符串长度不为 0"  
    38. fi  
    39. echo "-----------"  
    40. echo "test "-n",字符串长度不为0运算,不为0返回真"  
    41. echo "-----------"  
    42. if [ -n $a ]  
    43. then  
    44.     echo "-n $a : 字符串长度不为 0"  
    45. else  
    46.     echo "-n $a : 字符串长度为 0"  
    47. fi  
    48. echo "-----------"  
    49. echo "test is a null str"  
    50. echo "-----------"  
    51. if [ $a ]  
    52. then  
    53. echo "$a : 字符串不为空"  
    54. else  
    55. echo "$a : 字符串为空"  
    56. fi  
    57.   
    58.   
    59.   
    60.   
    61.   
    62. a="aaa"  
    63. b="bbb"  
    64. echo "----------------------------------------------------------------------------"  
    65. echo " test string  with "&&","||";test string is "$a"  and "$b""  
    66. echo "----------------------------------------------------------------------------"  
    67. echo "-----------"  
    68. echo "test "&&",逻辑与运算" 
    69. echo "-----------"  
    70. if [[ $a = $a && $b = $b ]]  
    71. then  
    72. echo "[[ $a = $a && $b = $b ]]返回 true"  
    73. else  
    74. echo "[[ $a = $a && $b = $b ]]返回 false"  
    75. fi  
    76.   
    77. echo "-----------"  
    78. echo "test "||",逻辑或运算"  
    79. echo "-----------"  
    80. if [[ $a = $b || $b = $b ]]  
    81. then  
    82. echo "[[ $a = $b || $b = $b ]]返回 true"  
    83. else  
    84. echo "[[ $a = $b || $b = $b ]]返回 false"  
    85. fi  
    86.   
    87.   
    88.   
    89. echo "*************----------*********************"
  • 相关阅读:
    Visual Studio 起始页面关闭新闻等
    Windows 10磁盘占用100%解决办法
    关于android:windowNoTitle不起作用的解决办法
    Android TextView 文字居中
    android studio上传项目到github报错Successfully created project 'Demo' on GitHub, but initial commit failed:
    Android开发中string.xml文件的使用
    Android TextView内容过长加省略号,点击显示全部内容
    Retrofit2访问数据的例子,kotlin和anko
    Android提高21篇之一:MediaPlayer
    android4.0蓝牙使能的详细解析
  • 原文地址:https://www.cnblogs.com/xxyue/p/9174526.html
Copyright © 2020-2023  润新知