BigIP F5 iRules 中 switch -exact 和 -glob 的区别:模式匹配与精确匹配
在 BigIP F5 iRules 中,switch -exact 和 switch -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 支持通配符,可以根据模式进行匹配。
原文地址: https://www.cveoy.top/t/topic/MhM 著作权归作者所有。请勿转载和采集!