各位大虾,帮忙看下这个sh脚本为何是死循环?

各位大虾,帮忙看下这个sh脚本为何是死循环?

看了一晚上,愣没瞅出啥毛病,大家帮忙看看

代码如下:
#!/bin/sh
echo -n "continue input : Y or N ?"
read ans
                                                                                
while true
do
if [ $ans=Y -o $ans=y ];then #输入是否为Y或y
    echo -n "continue input : Y or N ?"
    read ans
else   #输入不是Y或y,退出
    exit
fi
done

运行为死循环,测试环境为redhat 9      
复制内容到剪贴板
代码:
#!/bin/sh

echo -n "continue input : Y or N ?"
read ans
while true
do
    if [ "$ans" = Y -o "$ans" = y ]; then       # 输入是否为Y或y
        echo -n "continue input : Y or N ?"
        read ans
    else        # 输入不是Y或y,退出
        exit
    fi
done
      
明白了,原来是这句出错: if [ $ans=Y -o $ans=y ];then
正确的写法应该是::     if [ $ans = Y -o $ans = y ];then
没想到shell的语法要求这么严格

谢谢斑竹的回复!!!      
my pleasure