免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: 展天
打印 上一主题 下一主题

有关循环体使用的问题,请教 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-12-21 21:22 |只看该作者

回复 #9 展天 的帖子

1)
while true
do

把这写在这

论坛徽章:
0
12 [报告]
发表于 2007-12-21 21:59 |只看该作者
/usr/symcli/bin/symmir -sid 24 -f /dev/xxx.map query
echo "返回请按" q "键,刷新请按" r ": \c"
while true
do
------------------- 变成 ------------------
while true
do
/usr/symcli/bin/symmir -sid 24 -f /dev/xxx.map query
echo "返回请按" q "键,刷新请按" r ": \c"
---------------------------------

BTW:  你的代码重复太多,很多相同功能的可以做成一个函数,
还有,也没有什么出错处理,与用户交互的程序出错处理是必要的,
呵呵,兄弟加油!

论坛徽章:
0
13 [报告]
发表于 2007-12-22 03:56 |只看该作者
主要给你改了一下程序结构,没有太多写法变化,稍有点改变,但是主线逻辑是按照你的来写的
PS: 不同的部分才放到case中的分支,相同的都可以提取出来放到外部一并执行,
    还有像这种菜单选择类的用select比较好
  1. while true
  2. do
  3.     if [ "$ans" != "r" ]
  4.     then
  5.         RunMenu
  6.         read menu
  7.     fi

  8.     clear;echo;echo

  9.     case $menu in
  10.         1)
  11.             /usr/symcli/bin/symmir -sid 24 -f /dev/xxx.map query
  12.             ;;
  13.         2)
  14.             lsvg -o
  15.             ;;
  16.         3)
  17.             varyonvg vg1
  18.             varyonvg vg2
  19.             ;;
  20.         4)
  21.             start
  22.             ;;
  23.         5)
  24.             stop
  25.             ;;
  26.         6)
  27.             varyoffvg vg1
  28.             varyoffvg vg2
  29.             ;;
  30.         0)
  31.             exit 0
  32.             ;;
  33.         *)
  34.             continue
  35.             ;;
  36.     esac

  37.     echo "返回请按任意键,刷新请按'r': \c"
  38.     read ans
  39. done
复制代码

[ 本帖最后由 seeLnd 于 2007-12-22 04:01 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2007-12-22 15:54 |只看该作者
谢谢seeLnd兄弟的帮助,问题解决了,说实话,我平时很少写shell,就自己写过少量的系统管理方面的小工具,水平实在是很菜,看来以后要多研究学习这方面的内容了,以后还请多指教,同时也谢谢提供建议的各位兄弟,谢谢大家,谢谢

[ 本帖最后由 展天 于 2007-12-22 15:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP