在Linux shell编程中比较字符串的=
和==
有什么不同?
也许下面的代码可以工作:
if [ "$NAME" = "user" ]
then
echo "your name is user"
fi
但我认为这不是一个正确的语法。它将用于逐个==
语句比较字符串。
什么是正确的?
发布于 2011-04-21 22:21:07
通常,在比较字符串时,=运算符与==的工作方式相同。
注意:==比较运算符在双括号测试中的行为与在单括号测试中的行为不同。
[[ $a == z* ]] # True if $a starts with an "z" (pattern matching).
[[ $a == "z*" ]] # True if $a is equal to z* (literal matching).
[ $a == z* ] # File globbing and word splitting take place.
[ "$a" == "z*" ] # True if $a is equal to z* (literal matching).
https://stackoverflow.com/questions/5745303
复制相似问题