设置后:
var1="a\nb"
var2="$var1"
我希望$var1
和$var2
相等;但是:
[[ $var1 == $var2 ]] && echo yes || echo no
返回no
。那是为什么?
答案 0 :(得分:8)
您必须引用以执行字符串比较:
[[ "$var1" == "$var2" ]]
这样可行:
$ var1="a\nb"
$ var2="$var1"
$ [[ "$var1" == "$var2" ]] && echo yes || echo no
yes
来自评论chepner indicates:
没有引号,$ var2被解释为模式,而不是字符串, 并且\ n被视为常规n。