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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- js判斷字串中是否含有指定的子字串JS字串
- js判斷字串中是否含有指定字元JS字串字元
- Java 判斷字串中是否含有漢字.Java字串
- js如何判斷字串中是否包含指定的子字串JS字串
- PHP字串包含判斷PHP字串
- PHP 判斷一個字元是否在字串中PHP字元字串
- js如何判斷字串中是否含有指定字元JS字串字元
- 判斷字串中是否包含Emoji表情程式碼字串
- 判斷某一個字串是否存在另一個字串中字串
- php判斷字串A是否含有字串BPHP字串
- 【JAVA】判斷字串非空Java字串
- 判斷字串是否為空字串
- 判斷URL字串是否合法字串
- 判斷字串為空方法字串
- 判斷字串是否唯一字串
- 如何在js中判斷是否包含某個字串JS字串
- js判斷字串是以指定字串結尾JS字串
- Java使用正規表示式判斷字串中是否包含某子字串Java字串
- python如何判斷字串相等Python字串
- js判斷字串是否為空JS字串
- JavaScript判斷字串是否為空JavaScript字串
- java判斷字串是否為空Java字串
- C 判斷字串是否是子集字串
- C#判斷字串是否合法C#字串
- PHP 判斷是否包含某字串PHP字串
- bash函式應用之:判斷函式是否存在函式
- JS判斷字串是否包含某字串 indexOf()方法使用JS字串Index
- 33判斷字串是否為迴文字串
- javascript中如何判斷一個字串是否為JSON格式JavaScript字串JSON
- 在Oracle中,如何判斷一個字串是否為數字?Oracle字串
- Oracle中如何判斷一個字串是否含有漢字(中文)Oracle字串
- 如何在 Bash 中抽取子字串字串
- js函式中的if判斷和a==b判斷JS函式
- js判斷字串是否以指定的子字串結尾JS字串
- js判斷字串是否是以指定的子字串開頭JS字串
- 【轉】Java中判斷字串是否為數字的五種方法Java字串
- 判斷字串中只包含或不包含某種字元的方法字串字元
- C#判斷字串是否為日期格式C#字串