在shellcripting中使用if条件

时间:2016-06-09 07:50:13

标签: bash shell

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

感谢。

2 个答案:

答案 0 :(得分:3)

[[

后您缺少空格

if应该像

if [[ "$A" == 'Y' || "$A" == 'y' ]]

[[ ]] extended test command,就像任何命令一样,它应该用空格与其他命令分开

答案 1 :(得分:1)

在方括号内和==

之后添加适当的空格
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