linux shell的if语句

现在我有一道编程题,写在shell里面,内容如下当我运行该shell文件时,提示“你继续吗?YorN”等待我输入,当我输入Y或y时,输出“你选择了或y”,当我输入N或n时... 现在我有一道编程题,写在shell里面,内容如下
当我运行该shell文件时,提示“你继续吗?Y or N”
等待我输入,当我输入Y或y时,输出“你选择了或y”,
当我输入N或n时,输出“你选择了N或n”,
当我输入其他的时候,输出 “输入错误”
使用if elif else语句
以下就是我编写的shell
echo "你继续吗?Y or N"
read ANSWER
if [ $ANSWER = 'Y' -o $ANSWER = 'y' ] ; then
echo "你选择了$ANSWER";
elif [ $ANSWER = 'N' -o $ANSWER = 'n' ] ; then
echo "你选择了$ANSWER";
else
echo "输入错误"
exit
fi
我运行该shell文件时,提示我需要输入,而我随便填写一个(Y、N、y、n、或其他)字母回车,输出的并不是我想要的,提示编码有问题,请问上面的代码错在哪里(还是用if elif else语句情况下),请给一个正确的我
第三行的 输出“你选择了或y”,改为 输出“你选择了Y或y”,
展开
 我来答
本思一体电脑
2013-05-28 · TA获得超过111个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:96.4万
展开全部
echo "你继续吗?Y or N"
read ANSWER
if [ “$ANSWER” = “Y” -o “$ANSWER” = “y” ] ; then
echo "你选择了$ANSWER";
elif [ “$ANSWER” = “N” -o “$ANSWER” = “n” ] ; then
echo "你选择了$ANSWER";
else
echo "输入错误"
exit
fi
-----你试试
lxbbd01
2013-05-28 · TA获得超过944个赞
知道小有建树答主
回答量:823
采纳率:33%
帮助的人:836万
展开全部
#/bin/bash
read -p "你继续吗?Y or N:" ANSWER

if [ "$ANSWER" = "Y" -o "$ANSWER" = "y" ] ; then
echo "你选择了 $ANSWER"; #如果要显示为你选择了Y或y则改为 echo "你选择了Y或y"
elif [ "$ANSWER" = "N" -o "$ANSWER" = "n" ] ; then
echo "你选择了$ANSWER"; #如果要显示为你选择了N或n则改为 echo "你选择了N或n"
else
echo "输入错误"
exit
fi
追问
这个我试过,还是出现错误
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yiguihuo
2013-05-28 · TA获得超过186个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:250万
展开全部
脚本没有问题,应该是你用的默认shell问题,用sh或bash运行一下试试,在脚本第一行加上
#!/bin/sh
追问
修改了还是一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
buxingxing0123
2013-05-28 · TA获得超过281个赞
知道小有建树答主
回答量:396
采纳率:0%
帮助的人:289万
展开全部
read -p "你继续吗?(y/n):" yn
if [ $yn == Y -o $yn == y ]; then
echo "你选择了$yn!"
elif [ $yn == N -o $yn == n ]; then
echo "你选择了$yn!"
else
echo "输入错误"
exit 1
fi

主要是注意一下read的用法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式