一个重要的原因是字符串中间有空格。
解决方法,变量放到双引号内。
a1="hello, shell"
a2="hello, shell"
if [ "$a1" == "$a2" ]
then
echo "eq"
else
echo "NotEQ"
fi
写成一行
$ if [ "$a1" == "$a2" ]; then echo "eq"; else echo "NotEQ"; fi
输出都是 eq
本文探讨了在Shell脚本中进行字符串比较时遇到的问题,特别是当字符串内部包含空格时导致的错误。通过将变量置于双引号内,可以正确地进行字符串比较,避免出现不期望的输出。示例代码展示了如何在一行内简洁地实现字符串相等判断,并且在不同情况下均能得到预期结果。
一个重要的原因是字符串中间有空格。
解决方法,变量放到双引号内。
a1="hello, shell"
a2="hello, shell"
if [ "$a1" == "$a2" ]
then
echo "eq"
else
echo "NotEQ"
fi
写成一行
$ if [ "$a1" == "$a2" ]; then echo "eq"; else echo "NotEQ"; fi
输出都是 eq

被折叠的 条评论
为什么被折叠?