免费注册 查看新帖 |

Chinaunix

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

请教大家一个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-22 17:07 |只看该作者 |倒序浏览
case $JAVA_CHOICE in
            [1-$NUM])
            debugpath="DEBUGPATH"$JAVA_CHOICE
            DEBUGDIR=`grep $debugpath $DIR/init.txt | awk -F= '{print $2}'`
            echo $DEBUGDIR
            echo $NUM
            search_main
             ;;
              [Qq]) exit 1;;
        [Bb]) main;;
        [Tt]) main;;
        *) ;;
    esac

case 后面可以这样用变量吗?[1-$NUM])
我的NUM=18
程序到这里时,直接受1和8两个数字,其他的都不响应。请大家帮忙看一下。谢了

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-05-22 17:14 |只看该作者
不可,用嵌套的if then来做吧!

论坛徽章:
0
3 [报告]
发表于 2006-05-22 17:19 |只看该作者
给你一个例子:
if [ $DATESERVER_NODE = 1 ] ; then
                STAT_RUN=$(echo "$DATESERVER_1")
        elif [ $DATESERVER_NODE = 2 ] ; then
                STAT_RUN=$(echo "$DATESERVER_2")
        elif [ $DATESERVER_NODE = 3 ] ; then
                STAT_RUN=$(echo "$DATESERVER_3")
        elif [ $DATESERVER_NODE = 4 ] ; then
                STAT_RUN=$(echo "$DATESERVER_4")
        elif [ $DATESERVER_NODE = 5 ] ; then
                STAT_RUN=$(echo "$DATESERVER_5")
        elif [ $DATESERVER_NODE = 6 ] ; then
                STAT_RUN=$(echo "$DATESERVER_6")
        elif [ $DATESERVER_NODE = 0 ] ; then
                break
        fi

论坛徽章:
0
4 [报告]
发表于 2006-05-22 17:29 |只看该作者
if[$JAVA_CHOICE -le $NUM -a $JAVA_CHOICE -gt 0]
     #then
                debugpath="DEBUGPATH"$JAVA_CHOICE
            DEBUGDIR=`grep $debugpath $DIR/init.txt | awk -F= '{print $2}'`
            search_main
  elif["$JAVA_CHOICE" ="Q" -o "$JAVA_CHOICE" = "q"]
  #then
         exit 1
  elif["$JAVA_CHOICE" ="B" -o "$JAVA_CHOICE" = "b"]
  #then
         main
  elif["$JAVA_CHOICE" ="T" -o "$JAVA_CHOICE" = "t"]
  #then
        main
  #fi

我这样写的话,什么都不响应。
并且帮注释放开的话,执行就报错。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-05-22 17:31 |只看该作者
[]内各项注意空格

论坛徽章:
0
6 [报告]
发表于 2006-05-22 17:36 |只看该作者
空格注意了,可是程序只对1-18数字响应,q,b,t不响应。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-05-22 17:45 |只看该作者

  1. if [[ $input == [Bb]* ]];then ...;fi
复制代码

论坛徽章:
0
8 [报告]
发表于 2006-05-23 16:53 |只看该作者
楼上的老兄,我改成你的写法报错。我是bsh。
read JAVA_CHOICE
     if[ $JAVA_CHOICE -le $NUM -a $JAVA_CHOICE -gt 0 ]  then
                debugpath="DEBUGPATH"$JAVA_CHOICE
            DEBUGDIR=`grep $debugpath $DIR/init.txt | awk -F= '{print $2}'`
            search_main
  elif[ "$JAVA_CHOICE"="Q" -o "$JAVA_CHOICE"="q" ] then
        exit 1
  elif[ "$JAVA_CHOICE"="B" -o "$JAVA_CHOICE"="b" ] then
       main
  elif[ "$JAVA_CHOICE"="T" -o "$JAVA_CHOICE"="t" ] then
        main
   #fi

对按下q,b,t反映一样,都是转到search_main函数定义的画面。而且结尾的fi 放开 执行就报错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP