如果我问的问题很愚蠢,请道歉。也就是说,有人可以帮助我吗?
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 就是这样表现的。
如果有人知道,请在评论中分享!