read A
if [["$A" == 'Y' -o "$A" =='y']]
then echo "YES"
else echo "NO"
fi
我对 shell 脚本很陌生。基本上,我正在尝试检查输入是Y
还是y
。我收到以下错误,我无法调试。
solution.sh: line 2: [[Y: command not found
谢谢。
[[
后缺少空格
如果应该像
if [[ "$A" == 'Y' || "$A" == 'y' ]]
[[ ]]
是一个扩展的测试命令,像任何命令一样,它应该用空格与其他命令分开
在方括号内和==
后添加适当的空格:
read A
if [ "$A" == 'Y' -o "$A" == 'y' ]; then
echo "YES";
else
echo "NO";
fi
请注意,要使用-o
,您应该使用test
命令,该命令使用单括号。
如果使用带双括号的 [[ ]],则必须使用 ||
而不是 -o
:
read A
if [[ "$A" == 'Y' || "$A" == 'y' ]]; then
echo "YES";
else
echo "NO";
fi