问个shell的问题啊 判断输入y或者n

sh/bash/dash/ksh/zsh等Shell脚本
回复
votgagarry
帖子: 11
注册时间: 2012-01-26 12:27

问个shell的问题啊 判断输入y或者n

#1

帖子 votgagarry » 2012-01-26 12:28

判断用户输入的是否是y或者n 我分别用test和[]来测试 为啥用test的时候会连后面的也输入出来
=======
#!/bin/bash
read -p "Plz enter y or n: " yn
test $yn="y" -o $yn="Y" && echo "yes"
test $yn="n" -o $yn="N" && echo "no"



"j4.sh" 5L, 120C written
root@bt:/test# ./j4.sh
Plz enter y or n: y
yes
no
======
但用[]的时候则不存在任何问题:
#!/bin/bash
read -p "Enter y or n:" yn
[ "$yn" == "y" -o "$yn" == "Y" ] && echo "yes"
[ "$yn" == "n" -o "$yn" == "N" ] && echo "no"



root@bt:/test# ./judge.sh
Enter y or n:y
yes
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
联系:

Re: 问个shell的问题啊 判断输入y或者n

#2

帖子 cuihao » 2012-01-26 12:47

代码: 全选

#!/bin/bash
read -p "Plz enter y or n: " yn
test $yn = "y" -o $yn = "Y" && echo "yes"
test $yn = "n" -o $yn = "N" && echo "no"
注意空格
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
votgagarry
帖子: 11
注册时间: 2012-01-26 12:27

Re: 问个shell的问题啊 判断输入y或者n

#3

帖子 votgagarry » 2012-01-26 14:15

cuihao 写了:

代码: 全选

#!/bin/bash
read -p "Plz enter y or n: " yn
test $yn = "y" -o $yn = "Y" && echo "yes"
test $yn = "n" -o $yn = "N" && echo "no"
注意空格
正解 已解决 谢谢
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 问个shell的问题啊 判断输入y或者n

#4

帖子 枫叶饭团 » 2012-01-26 14:19

判断输入用case开关比较好
回复