加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash switch case匹配多种条件

发布时间:2020-12-15 19:57:26 所属栏目:安全 来源:网络整理
导读:我正在运行带列号的开关盒,我的列号可以是0 -50。当循环运行时 – 它们被验证。现在每种情况都支持离散的列号,我观察它的失败。 示例:我的列号是10,这里是代码 – i=10 a=1 b=0.65 if [ "$a" != "$b" ] ; then case $i in [1]|[2]|[5]) echo "Not OK"; ;
我正在运行带列号的开关盒,我的列号可以是0 -50。当循环运行时 – 它们被验证。现在每种情况都支持离散的列号,我观察它的失败。
示例:我的列号是10,这里是代码 –
i=10
    a=1
    b=0.65
    if [ "$a" != "$b" ] ; then 
       case $i in  
            [1]|[2]|[5]) echo "Not OK"; ;; 
            [9-10]|[12]) echo "may be ok"; ;; 
            *) echo "no clue - $i"; ;; 
       esac; 
   fi

我期待“可能”,但不能得到任何线索 – 10

Bash案例不符合数字范围。 []是用于shell模式。

例如这种情况[1-3] 5 | 6)将工作15或25或35或6。

您的代码应如下所示:

i=10
a=1
b=0.65
if [ "$a" != "$b" ] ; then
   case $i in
        1|2|5) echo "Not OK"; ;;
        9|10|12) echo "may be ok"; ;;
        *) echo "no clue - $i"; ;;
   esac;
fi

如果我可以在9和10之间是真实的,那么你需要使用if(而不是case)和range。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读