F5 iRule学习之2全局数组变量
2013-07-01 15:32
274 查看
变量的定义都很简单,set var "F5",全局变量的定义也是,set ::var "F5",那么全局数组变量呢?
如何定义?如何访问呢?
首先我们看下,全局数组我们可以理解为class,也就是Data Group,在这里有二种文件存放位置,和三种类型(字符串,地址,整型).
一种是内置的存放在bigip.conf文件中,另一种扩展文件是存放在文件系统中,如/var/class/文件夹中.
以下,是v10的一种格式转换,抄自devcentral
Address Classes
[internal class]
class addr_testclass {
{
host 192.168.1.1
host 192.168.1.2 { "host 2" }
network 192.168.2.0/24
network 192.168.3.0/24 { "network 2" }
}
}
[external class]
class addr_testclass_ext {
type ip
filename "/var/class/addr_testclass.class"
separator ":="
}
[/var/class/addr_testclass.class]
host 192.168.1.1,
host 192.168.1.2 := "host 2",
network 192.168.2.0/24,
network 192.168.3.0/24 := "network 2",
Note: You can also add network entries in the address type external file like shown immediately below, but when the class is updated, it will be converted to the CIDR format.
network 192.168.4.0 mask 255.255.255.0 := “network 3”,
network 192.168.5.0 prefixlen 24 := "network 4",
Integer Classes
[internal class]
class int_testclass {
{
1 { "test 1" }
2 { "test 2" }
}
}
[external class]
class int_testclass_ext {
type value
filename "/var/class/int_testclass.class"
separator ":="
}
[/var/class/int_testclass.class]
1 := "test 1",
2 := "test 2",
String Classes
With string classes, quotes are necessary on the types and values:
[internal class]
class str_testclass {
{
"str1" { "value 1" }
"str2" { "value 2" }
}
}
[external class]
class str_testclass_ext {
type string
filename "/var/class/str_testclass.class"
separator ":="
}
[/var/class/str_class.class]
"str1" := "value 1",
"str2" := "value 2",
内置的我们可以通过F5界面的Data group添加,扩展的我们需要前面的面板,外加vi功能.
这样,我们就定义了几组相关的数组数据。如何访问呢?
我们可以使用class命令,它是v10+高级功能的数组访问功能函数.
如[class element 0 class_name]返回class_name索引0的元素.
其他的可以好好看看class命令!
如何定义?如何访问呢?
首先我们看下,全局数组我们可以理解为class,也就是Data Group,在这里有二种文件存放位置,和三种类型(字符串,地址,整型).
一种是内置的存放在bigip.conf文件中,另一种扩展文件是存放在文件系统中,如/var/class/文件夹中.
以下,是v10的一种格式转换,抄自devcentral
Address Classes
[internal class]
class addr_testclass {
{
host 192.168.1.1
host 192.168.1.2 { "host 2" }
network 192.168.2.0/24
network 192.168.3.0/24 { "network 2" }
}
}
[external class]
class addr_testclass_ext {
type ip
filename "/var/class/addr_testclass.class"
separator ":="
}
[/var/class/addr_testclass.class]
host 192.168.1.1,
host 192.168.1.2 := "host 2",
network 192.168.2.0/24,
network 192.168.3.0/24 := "network 2",
Note: You can also add network entries in the address type external file like shown immediately below, but when the class is updated, it will be converted to the CIDR format.
network 192.168.4.0 mask 255.255.255.0 := “network 3”,
network 192.168.5.0 prefixlen 24 := "network 4",
Integer Classes
[internal class]
class int_testclass {
{
1 { "test 1" }
2 { "test 2" }
}
}
[external class]
class int_testclass_ext {
type value
filename "/var/class/int_testclass.class"
separator ":="
}
[/var/class/int_testclass.class]
1 := "test 1",
2 := "test 2",
String Classes
With string classes, quotes are necessary on the types and values:
[internal class]
class str_testclass {
{
"str1" { "value 1" }
"str2" { "value 2" }
}
}
[external class]
class str_testclass_ext {
type string
filename "/var/class/str_testclass.class"
separator ":="
}
[/var/class/str_class.class]
"str1" := "value 1",
"str2" := "value 2",
内置的我们可以通过F5界面的Data group添加,扩展的我们需要前面的面板,外加vi功能.
这样,我们就定义了几组相关的数组数据。如何访问呢?
我们可以使用class命令,它是v10+高级功能的数组访问功能函数.
如[class element 0 class_name]返回class_name索引0的元素.
其他的可以好好看看class命令!
相关文章推荐
- PHP学习笔记——超全局数组(预定义变量)
- PHP 学习笔记(一):基础教程:语法,变量,函数,数组,超全局
- C/C++学习之C提高----C程序数组排序、数据类型(大小,别名,封装)、变量、程序的内存四区模型(栈,堆,全局,代码区)
- PHP学习1.5-预定义超全局数组变量
- 《零基础入门学习Python》学习过程笔记【020函数的局部变量和全全局变量内部函数和闭包】
- Android程序员学PHP开发(22)-超全局数组/超全局变量-PhpStorm
- 跟燕十八学习PHP-第八天-函数&超全局变量
- php预定义的全局数组变量
- C语言再学习之:局部变量,局部静态变量,全局变量和全局静态变量的区别
- ios学习(全局变量的声明与使用)
- PHP学习笔记--Php预定义超全局变量$_GET
- PHP学习笔记【24】--PHP超全局变量,$_GET,$_POST,$_SERVER
- nginx 源码学习笔记(十四)—— 全局变量ngx_cycle
- PHP学习笔记二十一【全局变量】
- Swift 学习第一天 常量 变量 数组和字典
- java学习之局部变量以及全局变量
- Java学习--全局变量与局部变量
- Python学习笔记(2)-局部变量与全局变量
- js 声明数组和向数组中添加对象变量 [前端学习 第七节]