为什么使用通配符时Bash条件不对称?

假设我有以下Bash代码段:

if [[ "$foo" == *"$bar"* ]] ; then
  echo 'condition is true'
fi

In English, you might describe the above code with: if bar is a substring of foo then...

但是,当我们切换条件的条件时,为什么没有得到相同的结果呢?

if [[ *"$bar"* == "$foo" ]] ; then
  echo 'condition is true'
fi

也许我对通配符的计算时间有误解?