shell脚本运行异常

#!/bin/bash#program:#thisprogramshowstheuser'schoice#history:#2011/3/30dongfirstrelea... #!/bin/bash
#program:
# this program shows the user's choice
#history:
#2011/3/30 dong first release

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
read -p "please input (Y/N):" yn
if [ "$yn"=="Y" ]||[ "$yn"=="y" ]; then
echo "ok,contiue"
exit 0
fi
if [ "$yn"=="N" ]||[ "$yn"=="n" ]; then
echo "oh,interrupt!"
exit 0
fi
echo " i don't know what your choice is " && exit 0
初学者从鸟哥的linux私房菜摘来的shell脚本
当我运行时不管输什么都提示ok,continue
请高手看看错误在哪
本人在ubuntu10.04运行此脚本
展开
 我来答
kwydwuf
2011-03-31 · TA获得超过7409个赞
知道大有可为答主
回答量:1527
采纳率:71%
帮助的人:1982万
展开全部
要么是你抄书的时候抄错了,要么就是鸟哥那本书写错了,在 if 语句那里的用法是错误的。
看我下面改后的脚本。

#!/bin/bash
read -p "please input (Y/N):" yn
if [ "$yn" = "Y" -o "$yn" = "y" ]; then
echo "ok,contiue"
exit 0
fi
if [ "$yn" = "N" -o "$yn" = "n" ]; then
echo "oh,interrupt!"
exit 0
fi
echo " i don't know what your choice is " && exit 0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yexicheng
2011-03-31 · TA获得超过1.2万个赞
知道大有可为答主
回答量:8857
采纳率:69%
帮助的人:6962万
展开全部
你少了空格
"$yn"=="Y" 中间的比较==左右都需要空格的
你把所有的空格都加上就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式