免费注册 查看新帖 |

Chinaunix

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

[学习共享] case中选项用变量代替不成功的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-03 16:58 |只看该作者 |倒序浏览
先给脚本和执行结果

[root@test ~]# cat a.sh
#!/bin/bash
ONE="12[0-9]"
TWO="acserver|mcserver|qcserver"
case $1 in
    ${ONE})
        echo ${ONE} $1
        ;;
    ${TWO})
        echo ${TWO} $1
        ;;
esac
[root@test ~]# sh a.sh 120
12[0-9] 120
[root@SINGAPORE-SL-216-12-195-24 ~]# sh a.sh acserver
[root@SINGAPORE-SL-216-12-195-24 ~]#

大家帮解析一下,为什么变量${TWO}定义中加了 “|” 就不支持了呢?? case的选项中是可以通过“|” 来分隔多个选项的啊!

论坛徽章:
0
2 [报告]
发表于 2014-07-03 17:38 |只看该作者
木有人回么!?补充下不用变量定义的时候是正常的。

#!/bin/bash

case $1 in
    12[0-9])
        echo  $1
        ;;
    acserver|mcserver|qcserver)
        echo  $1
        ;;
esac
[root@test ~]# sh a.sh 120
120
[root@test ~]# sh a.sh acserver
acserver

论坛徽章:
0
3 [报告]
发表于 2014-07-03 17:48 |只看该作者
http://blog.chinaunix.net/uid-20099692-id-3919110.html
刚随便搜了下,这个意思?

论坛徽章:
0
4 [报告]
发表于 2014-07-09 17:50 |只看该作者
回复 3# 用户名注册后不能更改
感激不尽....要的就是这个意思。


   

论坛徽章:
0
5 [报告]
发表于 2019-04-16 11:01 |只看该作者
咋解决的呢?高手指点下吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP