gpt4 book ai didi

string - 双方括号和单方括号 [ 和 [[ 以及等号 = 和 == 有什么区别?

转载 作者:行者123 更新时间:2023-11-28 21:00:31 24 4
gpt4 key购买 nike

我找不到两者之间的区别:

[ $foo = b* ]
[ $foo == b* ]

[[ $foo = b* ]]
[[ $foo == b* ]]

最佳答案

[][[ ]] 一般情况下在 Is [[ ]] preferable over [ ] in bash scripts? 中介绍了所以我们不要碰它。

===:

在 [ ] 内

所以只使用 = 因为它更便携而且更短。

在 [[ ]] 内

[[ ]] 不是 POSIX,因此我们仅引用 man bash

它在 CONDITIONAL EXPRESSIONS 下说 ===[[ ]] 和两者都按照“复合命令”中的描述进行模式匹配。

然后“复合命令”与用于 glob 扩展的模式相同,例如:

[[ 'abcde' = ?b[cC]* ]] && echo true

可能带有 extglob 扩展。

请注意,您必须引用该模式:它不会像往常一样扩展到文件。如果你引用它,你就失去了模式匹配的魔力,得到的是文字字符。

关于string - 双方括号和单方括号 [ 和 [[ 以及等号 = 和 == 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com