免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6953 | 回复: 29
打印 上一主题 下一主题

一个shell的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-11 19:37 |只看该作者 |正序浏览
一个很简单的shell,如下:
echo  "guess the color"
read COLOR
if [  “$COLOR”=="red"  ]  
then
         echo "correct"
elif [  “$COLOR”=="black" ]
then
         echo "too far"
else
         echo "not correct"
fi
逻辑有问题,输入任何字符串,输出correct,怎么回事


已解决,谢谢

[ 本帖最后由 tige 于 2008-11-12 15:12 编辑 ]

论坛徽章:
0
30 [报告]
发表于 2008-11-16 22:58 |只看该作者
flybutter 该用户已被删除
29 [报告]
发表于 2008-11-16 22:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
2015年亚洲杯之韩国
日期:2015-04-24 09:07:02
28 [报告]
发表于 2008-11-16 19:38 |只看该作者
呵呵 刚开始写的时候是会犯写这样的错误

论坛徽章:
0
27 [报告]
发表于 2008-11-14 15:48 |只看该作者
学习了~

论坛徽章:
0
26 [报告]
发表于 2008-11-13 17:59 |只看该作者

这个脚本竟然这么火

论坛徽章:
0
25 [报告]
发表于 2008-11-13 17:58 |只看该作者

回复 #24 north423 的帖子

谢谢了

论坛徽章:
0
24 [报告]
发表于 2008-11-13 17:16 |只看该作者
shell的版本很多,所用的规范也各不相同,这个问题很多方法都可以解决,问题是那一种合规范,并且注意空格的使用这样养成一种良好的代码编写风格。

各种shell用于操作字符串和数字的操作符互不相同。Bourne shell使用test命令及其操作符来比较数字和字符串。尽管Korn shell和bash shell也有这些操作符,但是通常不使用他们,而是提供一个类C的操作符集合使用let命令(())来处理算术运算,使用新的test命令[[]]来处理
字符串操作。不同的是bash shell使用双等号(==)来表示相等关系,而Korn shell不是。详细见UNIX shell范例精解此书

举例子来说(注意他们的区别)
Bourne shell
数字测试
if [ $n -lt 10 ]
if [ $n -gt y ]
if [ $n -eq 6 ]
if [ $n -ne 6 ]
字符串测试
if [ "$n" = "John" ]
if [ "$n" != "John" ]


bash shell
数字测试
if (( n < 10 ))
if (( n > y ))
if (( n == 6 ))
if (( n != 6 ))
字符串测试
if [[ $n == "John" ]]
if [[ $n != "John" ]]

这里linux下面使用bash的不少,下面是bash的代码
#!/bin/bash
#a test in CU
echo  "guess the color"
read COLOR
if [[  $COLOR == "red" ]]
then
echo "correct"
elif [[ $COLOR == "black" ]]
then
  echo "too far"
else
echo "not correct"
fi

论坛徽章:
0
23 [报告]
发表于 2008-11-13 11:24 |只看该作者
:wink: :wink: :wink: :wink: :wink: :wink:

论坛徽章:
0
22 [报告]
发表于 2008-11-12 23:29 |只看该作者
原帖由 tige 于 2008-11-11 19:37 发表
一个很简单的shell,如下:
echo  "guess the color"
read COLOR
if [  “$COLOR”=="red"  ]  
then
         echo "correct"
elif [  “$COLOR”=="black" ]
then
         echo "too far"
else
...


新手"“问题。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP