1. 程式人生 > >shell中字符串基本用法

shell中字符串基本用法

前言 blog 字符串比較 註意 boa lai 空格 text 與運算

前言

今天在寫腳本時,發現前階段使用過的一些用法還是需要去百度查找,並且找到的答案還需要自己去篩選,耽誤寫腳本時間,這一篇對字符串之間的比較和邏輯判斷都非常詳細,借鑒他人之作,資源共享。

本片主要說明一些字符串比較中的註意事項

主要包括了字符串 相等、不等、長度、空字符串 以及邏輯與、邏輯或的內容,具體內容見下面的腳本:

[plain] view plain copy
  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中字符串基本用法