Cisco IOS Shell CLI 模块配置示例 目录 简介先决条件要求使用的组件背景信息配置派普斯和重定向嵌入式 Applet 条件环路串操作配置示例验证故障排除相关信息 简介 本文描述 Cisco IOS Shell (IOS.sh) CLI 模块 先决条件 要求 Cisco 建议您有 Cisco IOS 版本 15.1(4)M 15.1(2)S 及以后版本知识 必须配置和启用思科 IOS.sh 为了使用思科 IOS.sh 功能和功能在您的路由器 使用的组件 本文档中的信息基于下列硬件和软件版本 : Cisco Catalyst 6500 系列交换机 Cisco IOS 版本 15.1(1)SY 本文档中的信息都是基于特定实验室环境中的设备编写的 本文档中使用的所有设备最初均采用原始 ( 默认 ) 配置 如果您使用的是真实网络, 请确保您已经了解所有命令的潜在影响
背景信息 思科 IOS.sh 是在 Cisco IOS CLI 允许您使用 shell script 程序的模块 此模块帮助自动化定期操作并且简化设备管理 它可以与其他管理工具一道使用例如 Cisco IOS 被嵌入的活动管理器 (EEM) 配置 注意 : 使用命令查找工具 ( 仅限注册用户 ) 可获取有关本部分所使用命令的详细信息 为了启用在设备的 Shell CLI, 请输入 : terminal shell 为了禁用 Shell CLI, 请输入 : terminal no shell 此功能支持 PATH 变量, 包含目录列表 shell 能搜索功能 /applet 并且, Shell CLI 支持这些功能 : 派普斯和重定向 show version grep 15.1 show version grep 15 > bootdisk:version.txt dir bootdisk: Directory of bootdisk:/ 14 -rw- 280 Nov 15 2012 23:25:32 +00:00 version.txt 1024557056 bytes total (577273856 bytes free) cat bootdisk:version.txt 嵌入式 Applet 思科 IOS.sh 包含帮助创建申请和过滤器对用户功能的几内置的 applet : show version grep 15.1 show version grep 15 > bootdisk:version.txt dir bootdisk: Directory of bootdisk:/ 14 -rw- 280 Nov 15 2012 23:25:32 +00:00 version.txt 1024557056 bytes total (577273856 bytes free)
cat bootdisk:version.txt 条件 这是的命令, 如果. 然后. 其他操作员 x=5 if [[ $x!= 5 ]]; then.else.fi>then then.else.fi>echo false; then.else.fi>else else..fi>echo true; else..fi>fi; true 这些比较操作符用于为了与整数值一起使用 : - eq Arg1-eq Arg2 真, 如果 Arg1 与 Arg2 是相等的 - ne Arg1-ne Arg2 真, 如果 Arg1 与 Arg2 不是相等的 - Lt Arg1-lt Arg2 真, 如果 Arg1 比 Arg2 是较少 - gt Arg1-gt Arg2 真, 如果 Arg1 比 Arg2 极大 - ge Arg1-ge Arg2 真, 如果 Arg1 是 greate 比或等于对 Arg2 - le Arg1-le Arg2 真, 如果 Arg1 是小于或等于 Arg2 这些情况是可用为了与文件一起使用 : - a 或 - e 真, 如果文件存在 - d 真, 如果文件存在和它是目录 - f 真, 如果文件存在并且是一个正常文件 - r 真, 如果文件存在并且是可读的 - s 真, 如果文件存在并且有极大大小比零 - w 真, 如果文件存在并且是可执行的 - nt 如果 file1 比 file2, 新请测试 在文件的修改日期使用此比较 - ot 如果 file1 比 file2, 旧请测试 为了使用在比较操作符内的几个条件, 您能使用这些逻辑运算符 : x=5 if [[ $x!= 5 ]]; then.else.fi>then then.else.fi>echo false; then.else.fi>else else..fi>echo true; else..fi>fi; true 环路 环路是相同的正如在 Linux shell 两个操作员是可用的
这是的命令操作员的 : for x in 11 do..done>ping 192.0.2.$x ne Type escape sequence to abort. Sing 5, 100-byte ICMP Echos to 192.0.2.10,timeout is 2 seconds:!!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms 这是一会儿操作员的命令 : for i in 1 2 3 do..done>while [ $i -lt 3 ] do..done>echo $i ne do..done>i=i+1 ne 串操作 串比较, 如果. 然后. 其他操作员可以与这些修改一起使用 : == 字符串 1 == string2, 真, 如果字符串是相等的! = String1! = string2, 真, 如果字符串不是相等的 < String1 < string2, 真, 如果 string1 比 string2 词典地是较少 > String1 > string2, 真, 如果 string1 比 string2 词典地极大 配置示例 function add_desc() { {..} >show running-config interface Gi$1 {..} >configuration terminal {..} >interface Gi$1 {..} >description $2 {..} > {..} >show running-config interface Gi$1 {..} >} add_desc 5/1 SHELL_TEST Building configuration... Current configuration : 74 bytes! interface GigabitEthernet5/1 ip address 192.0.2.10 255.255.255.0 Enter configuration commands, one per line. End with CNTL/Z. Building configuration... Current configuration : 98 bytes! interface GigabitEthernet5/1
description SHELL_TEST ip address 192.0.2.10 255.255.255.0 验证 使用本部分可确认配置能否正常运行 输入 show terminal 命令为了显示当前终端的配置 : show terminal Line 2, Location: "", Type: "XTERM-COLOR" Length: 44 lines, Width: 155 columns Baud rate (TX/RX) is 9600/9600 Status: PSI Enabled, Ready, Active, No Exit Banner, Ctrl-c Enabled... Preferred transport is lat. Shell: enabled Shell trace: off 输入显示 shell 功能命令为了显示所有功能可用在模块, 包括用户定义的功能 : show shell functions #User defined functions: Function namespace: DEFAULT function add_desc() { show running-config interface Gi$1 configure terminal interface Gi$1 description $2 show running-config interface Gi$1 } 故障排除 目前没有针对此配置的故障排除信息 相关信息 Catalyst 6500 配置指南 技术支持和文档 - Cisco Systems