查看其他 Bash 脚本,我看到人们比较变量,例如:$S == $T
而在其他时候,我看到变量被包裹在字符串中:"$S" == "$T"
。
一些实验似乎表明两者都做同样的事情。下面的演示将equal
在这两种情况下打印(使用 GNU bash 测试,版本 4.2.37):
#!/usr/bin/env bash
S="text"
T="text"
if [[ $S == $T ]]; then
echo "equal"
fi
if [[ "$S" == "$T" ]]; then
echo "equal"
fi
$S == $T
我的问题:如果和之间有区别"$S" == "$T"
,那是什么?