一. 字符串是否相等.
建議用
if [[ "${str1}" == "${str2}" ]]
或
if [ "${str1}" = "${str2}" ]
注意: == left and right has space!
str1= "" str2 = str3 = " hello " str4 = " world "
# true if [[ " ${str1} " == " ${str2} " ]]; then echo " 12 true " else echo " 12 false " fi
# false if [[ " ${str1} " == " ${str3} " ]]; then echo " 13 true " else echo " 13 false " fi
# false if [[ " ${str3} " == " ${str4} " ]]; then echo " 34 true " else echo " 34 false " fi
# false # str5未聲明 if [[ " ${str3} " == " ${str5} " ]]; then echo " 35 true " else echo " 35 false " fi
?
?
單個[]也是正確的
str1= "" str2 = str3 = " hello " str4 = " world " # true if [ " ${str1} " = " ${str2} " ]; then echo " 12 true " else echo " 12 false " fi # false if [ " ${str1} " = " ${str3} " ]; then echo " 13 true " else echo " 13 false " fi # false if [ " ${str3} " = " ${str4} " ]; then echo " 34 true " else echo " 34 false " fi # false # str5未聲明 if [ " ${str3} " = " ${str5} " ]; then echo " 35 true " else echo " 35 false " fi
?
?
?
二. 字符串是否為空.
建議用
if [ "${str1}" == "" ]
或
if [[ "${str1}" == "" ]]
if [ " $str " = "" ] if [ x " $str " = x ] if [ -z " $str " ] (- n 為非空) 注意:都要代雙引號,否則有些命令會報錯 建議用:
if [ "$str" = "" ]
或
if [[ "${str1}" == "" ]]
?
例子
str1= "" str2 = str3 = " hello " str4 = " world " # 以下都輸出empty # $str5不存在, 也是empty if [ " $str1 " = "" ]; then echo " empty " fi if [ " $str2 " = "" ]; then echo " empty " fi if [ " $str5 " == "" ]; then echo " empty " fi if [ -z " $str5 " ]; then echo " empty " fi if [[ $str5 == "" ]]; then echo " empty " fi if [[ " $str5 " == "" ]]; then echo " empty " fi if [[ " $str1 " == "" ]]; then echo " empty " fi
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
