[一位同事最近在代码审查中声称,在类似[]的结构中,[[ ]]
的结构优于[ ]
的结构>
if [ "`id -nu`" = "$someuser" ] ; then echo "I love you madly, $someuser" fi
他无法提供理由。有没有?
[一位同事最近在代码审查中声称,在if [“ id -nu` =” $ someuser“]之类的结构中,[[]]构造优于[]。然后回显“我疯狂地爱你,$ someuser” ...
[[
具有更少的惊喜,并且通常更安全使用。但是它不是可移植的-POSIX没有指定它的功能,只有一些shell支持它(除了bash,我听说ksh也支持它)。例如,您可以执行
行为差异
[
具有更多功能-我建议您看看[ a = a ] || [ a = b ] && [ a = b ]
了解更多信息,特别是[[ ]]
中的[[Advanced Bash Scripting Guide
[[ ]]
)