有人解释一下为什么这会返回 True

有人解释一下为什么这会返回 True

如果我问的问题很愚蠢,请道歉。也就是说,有人可以帮助我吗?

Pop!_OS based on Ubuntu 21.10 | Linux 5.15.8-76051508-generic | wayland display manager

karthik@cosmic:~$ read -p "enter" VAR
enterANything
karthik@cosmic:~$ echo $VAR
ANything
karthik@cosmic:~$ if [ "$VAR"=="Hello" ]
> then
> echo "True"
> fi
True
karthik@cosmic:~$ 

答案1

"$VAR"因为你错过了和之间的“空格” "Hello"

实际上,

如果[“$VAR”==“你好”];然后回显“True”;菲

正常工作

这就是声明被破坏的原因我不是 Bash 专家,我不能告诉你为什么Bash 就是这样表现的。

如果有人知道,请在评论中分享!

相关内容