一. 字符串是否相等.
建議用
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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

