在 BigIP F5 iRules 中,switch -exactswitch -glob 是用于匹配字符串的操作符。

switch -exact 用于精确匹配,只有当输入的字符串与 case 语句中的字符串完全匹配时,才会执行相应的操作。这种匹配不支持通配符。

例如:

when HTTP_REQUEST {
    switch -exact [HTTP::uri] {
        '/home' {
            # 执行针对'/home'的操作
        }
        '/about' {
            # 执行针对'/about'的操作
        }
        default {
            # 执行默认操作
        }
    }
}

switch -glob 用于模式匹配,可以使用通配符来匹配字符串。通配符可以是 *(匹配任意字符序列)和 ?(匹配单个字符)。

例如:

when HTTP_REQUEST {
    switch -glob [HTTP::uri] {
        '/home' {
            # 执行针对'/home'的操作
        }
        '/about*' {
            # 执行针对以'/about'开头的路径的操作
        }
        '/contact-us' {
            # 执行针对'/contact-us'的操作
        }
        default {
            # 执行默认操作
        }
    }
}

因此,-exact 不支持通配符,只进行精确匹配;而 -glob 支持通配符,可以根据模式进行匹配。

BigIP F5 iRules 中 switch -exact 和 -glob 的区别:模式匹配与精确匹配

原文地址: https://www.cveoy.top/t/topic/MhM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录