while循环哪错了?
时间:2011-03-14
来源:互联网
echo -n Please input switch slot \(7 or 8\):
read switch_solt
while [ "X${switch_solt}" != "X7"
do
echo -n Please input switch slot \(7 or 8\):
read switch_solt
done
这个成功!
echo -n Please input switch slot \(7 or 8\):
read switch_solt
while [ "X${switch_solt}" != "X7" -o "X${switch_solt}" != "X8" ]
do
echo -n Please input switch slot \(7 or 8\):
read switch_solt
done
这个为什么不成功?该如何修改?
作者: chinaboywg 发布时间: 2011-03-14
-o是或,-a是和,搞清楚
- #! /bin/bash
- read -p "key in a slot : " switch_solt
- while [ "X${switch_solt}" != "X7" -a "X${switch_solt}" != "X8" ]
- do
- echo -n Please input switch slot \(7 or 8\):
- read switch_solt
- done
作者: 昭襄王 发布时间: 2011-03-14
呵呵 知道了 谢谢!
作者: chinaboywg 发布时间: 2011-03-14
我测试的好使啊!!!不知道你是怎么回事。
作者: db2-zhang 发布时间: 2011-03-14
这个不是恒真的吗?
作者: cjaizss 发布时间: 2011-03-14
我测试的好使啊!!!不知道你是怎么回事。
db2-zhang 发表于 2011-03-14 13:29
echo -n Please input switch slot \(7 or 8\):
read switch_solt
while [ "X${switch_solt}" != "X7" -o "X${switch_solt}" != "X8" ]
do
echo -n Please input switch slot \(7 or 8\):
read switch_solt
done
这个为什么不成功?该如何修改?
你输入8就退不出了
按理是该跳出循环的
作者: chinaboywg 发布时间: 2011-03-14
我测试的好使啊!!!不知道你是怎么回事。
db2-zhang 发表于 2011-03-14 13:29
反过来就是等于7或等于8就跳出循环
作者: chinaboywg 发布时间: 2011-03-14
作者: 你为泪而流 发布时间: 2011-03-14
呵呵 知道了 谢谢!
chinaboywg 发表于 2011-03-14 13:23
真知道了?知道什么了?
作者: 昭襄王 发布时间: 2011-03-14
恩!明白了,我刚测试了一下,把-o 换成-a 就好使了!
作者: db2-zhang 发布时间: 2011-03-14
$1 -a $2
当$1和$2都为真的时候,表达式为真,有一个为假表达式为假,所以要想不进入while循环,必须是$1,$2有一个为假,或都为假。
作者: db2-zhang 发布时间: 2011-03-14
恩!明白了,我刚测试了一下,把-o 换成-a 就好使了!
db2-zhang 发表于 2011-03-14 14:38
那我现在要求只能输入 1 2 3 4 5 6 9 10 11 12 13 14 中的一个 否则就需要重新输入 你看如何做
作者: chinaboywg 发布时间: 2011-03-14
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28