免费注册 查看新帖 |

Chinaunix

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

找BUG?看你能找出几个? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-23 15:58 |只看该作者 |倒序浏览

  1. #!/bin/sh
  2. #menu
  3. #set the date,user and hostname up

  4. MYDATE=`date +%d/%m/%Y`
  5. THIS_HOST=`hostname -s`
  6. USER=`whoami`
  7. #loop
  8. while :
  9. do
  10.   #clear the screen
  11.   tput clear
  12.   #here doc

  13.   cat <<MAYDAY

  14.   --------------------------------------------------------------
  15.   User:$USER               Host:$THIS_HOST         Date:$MYDATE
  16.   --------------------------------------------------------------
  17.                 1:list files in current directory
  18.                 2:Use the vi editor
  19.                 3:See who is on the system
  20.                 H:Help screen
  21.                 Q:Exit Menu
  22.   --------------------------------------------------------------
  23.   MAYDAY

  24. #here doc finish

  25. echo -e -n "\tYour choice[1,2,3,H,Q]>"
  26. read CHOICE
  27.     case $CHOICE in
  28.         1) ls
  29.         ;;
  30.         2) vi
  31.         ;;
  32.         3) who
  33.         ;;
  34.         H|h)
  35.         cat <<MAYDAY
  36.                 This is the help screen,nothing here yet to help you!
  37.         MAYDAY
  38.         ;;
  39.         Q|q) exit 0
  40.         ;;
  41.         *) echo -e "\t\007Unknown flag"
  42.         ;;
  43.     esac

  44. done
复制代码

论坛徽章:
0
2 [报告]
发表于 2004-11-23 16:14 |只看该作者

找BUG?看你能找出几个?

没见"bug", 其他单词倒不少。

论坛徽章:
0
3 [报告]
发表于 2004-11-23 17:37 |只看该作者

找BUG?看你能找出几个?

楼主,没发现"BUG",指点下哈

论坛徽章:
0
4 [报告]
发表于 2004-11-23 19:22 |只看该作者

找BUG?看你能找出几个?

把代码复制过来跑后,有语法错误
最后找到作为CAT重定向输入的结束符,MAYDAY,要在行首
改了那两处,可以正常执行,在执行中,功能1,3,H无反应

论坛徽章:
0
5 [报告]
发表于 2004-11-24 14:37 |只看该作者

找BUG?看你能找出几个?

the correct code
  1. #!/bin/sh
  2. #menu
  3. #set the date,user and hostname up

  4. MYDATE=`date +%d/%m/%Y`
  5. THIS_HOST=`hostname -s`
  6. USER=`whoami`
  7. #loop
  8. while :
  9. do
  10.   #clear the screen
  11.   tput clear
  12.   #here doc

  13. cat <<MAYDAY
  14.   --------------------------------------------------------------
  15.   User:$USER               Host:$THIS_HOST         Date:$MYDATE
  16.   --------------------------------------------------------------
  17.                 1:list files in current directory
  18.                 2:Use the vi editor
  19.                 3:See who is on the system
  20.                 H:Help screen
  21.                 Q:Exit Menu
  22.   --------------------------------------------------------------
  23. MAYDAY

  24. #here doc finish

  25. echo -e -n "\tYour choice[1,2,3,H,Q]>"
  26. read CHOICE
  27.     case $CHOICE in
  28.         1) ls
  29.         ;;
  30.         2) vi
  31.         ;;
  32.         3) who
  33.         ;;
  34.         H|h)
  35.         cat <<MAYDAY
  36.                 This is the help screen,nothing here yet to help you!
  37. MAYDAY
  38.         ;;
  39.         Q|q) exit 0
  40.         ;;
  41.         *) echo -e "\t\007Unknown flag"
  42.         ;;
  43.     esac
  44. echo -e -n "\007Hit the return key to continue"
  45. read DUMMY
  46. done
复制代码

论坛徽章:
0
6 [报告]
发表于 2004-11-24 21:43 |只看该作者

找BUG?看你能找出几个?

知道为什么1,3,H没反应了,其实是显示出来后立刻被循环覆盖了.
通过去掉tput clear得证

论坛徽章:
0
7 [报告]
发表于 2004-11-25 10:19 |只看该作者

找BUG?看你能找出几个?

仁兄果然是有心人,竟发现MYDAY前有空格存在.~!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP