分页: 1 / 1

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

发表于 : 2012-01-26 12:28
votgagarry
判断用户输入的是否是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

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

发表于 : 2012-01-26 12:47
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"
注意空格

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

发表于 : 2012-01-26 14:15
votgagarry
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"
注意空格
正解 已解决 谢谢

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

发表于 : 2012-01-26 14:19
枫叶饭团
判断输入用case开关比较好