首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Linux shell编程字符串比较语法

Linux shell编程字符串比较语法
EN

Stack Overflow用户
提问于 2011-04-21 22:13:37
回答 2查看 85.7K关注 0票数 18

在Linux shell编程中比较字符串的===有什么不同?

也许下面的代码可以工作:

代码语言:javascript
复制
if [ "$NAME" = "user" ]
then
    echo "your name is user"
fi

但我认为这不是一个正确的语法。它将用于逐个==语句比较字符串。

什么是正确的?

EN

回答 2

Stack Overflow用户

发布于 2011-04-21 22:21:07

通常,在比较字符串时,=运算符与==的工作方式相同。

注意:==比较运算符在双括号测试中的行为与在单括号测试中的行为不同。

代码语言:javascript
复制
[[ $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).

来源:http://tldp.org/LDP/abs/html/comparison-ops.html

票数 11
EN

Stack Overflow用户

发布于 2011-04-21 22:19:15

你可以看看here或者here。就我个人而言,为了比较字符串,我使用case

代码语言:javascript
复制
case "$string1" in
  "$string2" ) echo "matched";;
  *) echo "not matched";;
esac

我不需要知道我应该使用哪个运算符

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5745303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档