在外壳脚本中使用 if 条件


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

相关内容

  • 没有找到相关文章

最新更新