shell中字符串基本用法
阿新 • • 發佈:2018-06-12
前言 blog 字符串比較 註意 boa lai 空格 text 與運算
前言
今天在寫腳本時,發現前階段使用過的一些用法還是需要去百度查找,並且找到的答案還需要自己去篩選,耽誤寫腳本時間,這一篇對字符串之間的比較和邏輯判斷都非常詳細,借鑒他人之作,資源共享。
本片主要說明一些字符串比較中的註意事項
主要包括了字符串 相等、不等、長度、空字符串 以及邏輯與、邏輯或的內容,具體內容見下面的腳本:
[plain] view plain copy- #!/bin/bash
- # test string order
- a="ss"
- b="abc"
- c="ss"
- echo "----------------------------------------------------------------------------"
- echo " test for string compare with \"!=\",\"=\",\"-z\",\"-n\",is a null str ;test string is \"$a\" and \"$b\""
- echo "----------------------------------------------------------------------------"
- echo "*************----------*********************"
- echo "-----------"
- echo "test \"=\" 等號運算,比較兩個字符串相等"
- echo "-----------"
- echo "if [ \$a = \$b ]; then 用=來比較兩個字符串是否相等, 註意不是==符號 ,註意語句中的空格符號一定要預留好,下面的一些語句中的空格格式和本句類似"
- if [ $a = $b ]; then
- echo "$a == $b : a = b"
- else
- echo "-----------"
- echo "test \"!=\",不等號運算,比較兩個字符串不相等"
- echo "-----------"
- if [ $a != $c ]; then
- echo "$a == $c :a !=c "
- else
- echo "$a == $c : a ==c "
- fi
- fi
- echo "-----------"
- echo "test \"-z\",字符串長度為0運算,為0返回真"
- echo "-----------"
- if [ -z $a ]
- then
- echo "-z $a : 字符串長度為 0"
- else
- echo "-z $a : 字符串長度不為 0"
- fi
- echo "-----------"
- echo "test \"-n\",字符串長度不為0運算,不為0返回真"
- echo "-----------"
- if [ -n $a ]
- then
- echo "-n $a : 字符串長度不為 0"
- else
- echo "-n $a : 字符串長度為 0"
- fi
- echo "-----------"
- echo "test is a null str"
- echo "-----------"
- if [ $a ]
- then
- echo "$a : 字符串不為空"
- else
- echo "$a : 字符串為空"
- fi
- a="aaa"
- b="bbb"
- echo "----------------------------------------------------------------------------"
- echo " test string with \"&&\",\"||\";test string is \"$a\" and \"$b\""
- echo "----------------------------------------------------------------------------"
- echo "-----------"
- echo "test \"&&\",邏輯與運算"
- echo "-----------"
- if [[ $a = $a && $b = $b ]]
- then
- echo "[[ \$a = \$a && \$b = \$b ]]返回 true"
- else
- echo "[[ \$a = \$a && \$b = \$b ]]返回 false"
- fi
- echo "-----------"
- echo "test \"||\",邏輯或運算"
- echo "-----------"
- if [[ $a = $b || $b = $b ]]
- then
- echo "[[ \$a = \$b || \$b = \$b ]]返回 true"
- else
- echo "[[ \$a = \$b || \$b = \$b ]]返回 false"
- fi
- echo "*************----------*********************"
shell中字符串基本用法