免费注册 查看新帖 |

Chinaunix

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

一个while循环的问题,请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-02-17 10:32 |只看该作者 |倒序浏览
我的一个脚本如下,问题是我可以在第二个子循环中,通过交互输入的方式,反复执行“E”和“F”,但是如果我一旦输入“3”返回到第一级循环,就不能再进入“A”这个子循环了,只能执行“B”这个子循环,一旦从“B”这个子循环也返回第一级循环,就无法再执行任何循环了,只能选择“3”推出。

请问我的这两级循环的问题出在哪里,情况紧急,要干活,所以苦盼解决方法!

#! /bin/sh

while [ "$OPT" != 3 ]
do
  clear
  echo "1 - A"
  echo "2 - B"
  echo "3 - Exit"
  
  echo "Selection: "
  read OPT
  
  case $OPT in
  1)
    while [ "$OPT_1" != 3 ]
    do
      clear
      echo "1 - E"
      echo "2 - F"
      echo "3 - Back to up level"
      
      echo "Selection: "
      read OPT_1
      
      case $OPT_1 in
      1)
        ./1.sh
        ;;
      2)
        ./2.sh
        ;;
      esac
    done
    ;;
  2)
    while [ "$OPT_2" != 3 ]
    do
      clear
      echo "1 - M"
      echo "2 - N"
      echo "3 - Back to up level"
      
      echo "Selection: "
      read OPT_2
      
      case $OPT_2 in
      1)
        ./3.sh
        ;;
      2)
        ./4.sh
        ;;
      esac
    done
    ;;
  esac
done
clear

论坛徽章:
0
2 [报告]
发表于 2005-02-17 10:51 |只看该作者

一个while循环的问题,请指教

大哥:
1。你写的好乱!能在流程化一些么?,有可能一些问题东西在其中看不出来。
2。你的case语句都没有“3“的选项,有问题吧?
3。可能和每次循环的退出状态有关

论坛徽章:
0
3 [报告]
发表于 2005-02-17 10:57 |只看该作者

一个while循环的问题,请指教

原帖由 "hugehawk"]" != 3  发表:

    do
      clear
      echo "1 - M"
      echo "2 - N"
      echo "3 - Back to up level"
      
      echo "Selection: "
      read OPT_2
      
      case $OPT_2 in
      1)
  ..........


在你的子循环结束时候好象应该 OPT_1="" 让OPT_1清空吧?要不如果你上次选的是3的话下次还是3,无法进入循环了吧? OPT_2好象也要如此. OPT就无所谓了.

论坛徽章:
0
4 [报告]
发表于 2005-02-17 11:08 |只看该作者

一个while循环的问题,请指教

确实如此,终于搞定了,需要在第一个循环中定义:

OPT_1=""
OPT_2=""

这样的话,每次返回第一个循环,OPT_x都是初始值0,就可以继续执行子循环了。

多谢指导!!!

论坛徽章:
0
5 [报告]
发表于 2005-02-17 11:18 |只看该作者

一个while循环的问题,请指教

原帖由 "hugehawk" 发表:
确实如此,终于搞定了,需要在第一个循环中定义:

OPT_1=""
OPT_2=""

这样的话,每次返回第一个循环,OPT_x都是初始值0,就可以继续执行子循环了。

多谢指导!!!



不客气,我前些天恰巧也写了类似的script,所以熟悉些. 我也是经常在这得到帮助,大家互助,呵呵.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP