bash中字串判斷
判斷是否空串(或者未定義)
格式1:test -z "$STR"
格式2:[ -z "$STR" ]
注:test是[]的同義詞。注意加上引號,否則有可能報錯。
格式3:test "$STR" == ""
格式4:[ "$STR" == "" ]
格式5:test "$STR" = ""
格式6:[ "$STR" = "" ]
注:==等同於=。
格式7:[[ "$STR" = "" ]]
格式8:[[ $STR = "" ]]
格式9:[[ "$STR" == "" ]]
格式10:[[ $STR == "" ]]
格式11:[[ ! $STR ]]
注:[[是Bash關鍵字,其中的變數引用不需要加雙引號。
[root@jfht ~]# if test -z "$STR"; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [ -z "$STR" ]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if test "$STR" == ""; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [ "$STR" == "" ]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if test "$STR" = ""; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [ "$STR" = "" ]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [[ "$STR" = "" ]]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [[ $STR = "" ]]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]# if [[ ! $STR ]]; then echo "STR is null or empty"; fi
STR is null or empty
[root@jfht ~]#
判斷是否非空串
格式1:test "$STR"
格式2:[ "$STR" ]
格式3:test -n "$STR"
格式4:[ -n "$STR" ]
格式5:test ! -z "$STR"
格式6:[ ! -z "$STR" ]
格式7:test "$STR" != ""
格式8:[ "$STR" != "" ]
格式9:[[ "$STR" ]]
格式10:[[ $STR ]]
the length of STRING is nonzero
STRING
equivalent to -n STRING
-z STRING
the length of STRING is zero
判斷變數是否已定義(宣告)
格式1:if declare -p VAR; then do_something; fi
格式2:declare -p VAR && do_something
在Bash中typeset命令等同於declare命令。
格式3:if [ "${VAR+YES}" ]; then do_something; fi
格式4:[ "${VAR+YES}" ] && do_something
${VAR+YES}表示如果VAR沒有定義則返回YES,否則返回空
[root@jfht ~]# if declare -p VAR; then echo "VAR defined"; fi
-bash: declare: VAR: not found
[root@jfht ~]# declare -p VAR && echo "VAR defined"
-bash: declare: VAR: not found
[root@jfht ~]# if [ "${VAR+YES}" ]; then echo "VAR defined"; fi
[root@jfht ~]# [ "${VAR+YES}" ] &&echo "VAR defined"
[root@jfht ~]#
[root@jfht ~]# VAR=
[root@jfht ~]# if declare -p VAR; then echo "VAR defined"; fi
declare -- VAR=""
VAR defined
[root@jfht ~]# declare -p VAR && echo "VAR defined"
declare -- VAR=""
VAR defined
[root@jfht ~]# if [ "${VAR+YES}" ]; then echo "VAR defined"; fi
VAR defined
[root@jfht ~]# [ "${VAR+YES}" ] &&echo "VAR defined"
VAR defined
[root@jfht ~]#
判斷變數沒有定義(宣告)
格式1:if [ ! "${VAR+YES}" ]; then do_something; fi
格式2:[ ! "${VAR+YES}" ] && do_something
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22418990/viewspace-732804/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python中字串格式判斷Python字串
- PHP 判斷一個字元是否在字串中PHP字元字串
- 判斷字串是否唯一字串
- python如何判斷字串相等Python字串
- 判斷URL字串是否合法字串
- 判斷字串是否為空字串
- 【JAVA】判斷字串非空Java字串
- js判斷字串是否為空JS字串
- java判斷字串是否為空Java字串
- JavaScript判斷字串是否為空JavaScript字串
- javascript中如何判斷一個字串是否為JSON格式JavaScript字串JSON
- bash函式應用之:判斷函式是否存在函式
- C#判斷字串是否為日期格式C#字串
- js函式中的if判斷和a==b判斷JS函式
- Python中判斷是否為數字字串的方法是什麼?Python字串
- .Net中字串不變性與相等判斷的特殊場景字串
- 大神教你如何判斷Python中字串是否為空和nullPython字串Null
- c++判斷字串全是字母或數字C++字串
- C#判斷字串的顯示寬度C#字串
- python如何判斷字串以什麼結尾Python字串
- PHP判斷一個字串是否包含亂碼PHP字串
- J2SE-判斷字串是否為空字串
- mssql sqlserver 判斷字串大小寫的方法分享SQLServer字串
- 教你幾種PostgreSQL判斷字串是否包含目標字串的方法SQL字串
- 演算法題:判斷括號字串是否有效演算法字串
- java判斷輸入的字串是否為數字Java字串
- fastjson判斷JSON字串是Object還是List<Object>ASTJSON字串Object
- Python有效括號字串判斷和深度計算Python字串
- js判斷字串是否含有特殊字元和emoji表情JS字串字元
- 判斷迴文串 字串/數字相互轉換字串
- Python中None如何判斷PythonNone
- 如何用python判斷列表中是否包含多個字串中的一個或多個?Python字串
- 一文詳解Python字串條件判斷方法Python字串
- C語言:判斷一個字串是否為迴文C語言字串
- java字串、異常小練習--判斷qq是否合法Java字串
- 字串判空、判等字串
- js中的型別判斷JS型別
- js判斷checkbox是否選中JS
- 演算法問題——判斷陣列中是否含有某一字串演算法陣列字串