if [ "$x" = "valid" ]; then
echo "x has the value 'valid'"
fi
如果你想要做的事时,他们不匹配,更换=
用!=
。您可以在各自的文档中阅读有关字符串操作和算术运算的更多信息。
$x
附近使用报价? 你想要$x
左右的引号,因为如果它是空的,你的 bash 脚本会遇到语法错误,如下所示:
if [ = "valid" ]; then
==
运算符请注意, bash
允许==
与[
等式] 使用,但这不是标准的 。
使用第一种情况,其中$x
周围的引号是可选的:
if [[ "$x" == "valid" ]]; then
或使用第二种情况:
if [ "$x" = "valid" ]; then
或者,如果您不需要 else 子句:
[ "$x" == "valid" ] && echo "x has the value 'valid'"
要使用通配符比较字符串
if [[ "$stringA" == *$stringB* ]]; then
# Do something here
else
# Do Something here
fi