在通信设备领域,思科的路由器设备可以用CLI进行操作。这里介绍的开源项目klish是思科CLI风格(CISCO-like CLI)的框架。命令配置文件为xml格式。
源码:pkun/klish: The klish is a framework for implementing a CISCO-like CLI on a UNIX systems. It is configurable by XML files. - libcode
Ubuntu 20.04.2 LTS
版本:klish 2.2
//1. 运行autogen.sh生成configure文件 klish# ls autogen.sh klish# ./autogen.sh Makefile.am: installing 'aux_scripts/depcomp' autoreconf: Leaving directory `.' 生成configure文件 klish# ls autogen.sh configure //2. 运行configure生成Makefile文件 klish# ./configure config.status: executing libtool commands config.status: executing depfiles commands 生成makefile文件 klish# ls autogen.sh configure Makefile //3. make编译 klish# make make[1]: Leaving directory '/workspace/klish' //4. make install安装 klish# make install Libraries have been installed in: /usr/local/lib /bin/mkdir -p '/usr/local/bin' /bin/bash ./libtool --mode=install /usr/bin/install -c bin/clish bin/konfd bin/konf bin/sigexec '/usr/local/bin'
klish-2.2# CLISH_PATH=xml-examples/klish/etc/clish bin/clish > show Syntax error: Unknown command klish-2.2# CLISH_PATH=xml-examples/klish/etc/clish-enable bin/clish # ! Comments configure Enter configuration mode copy Copy from one file to another disable Turn off privileged commands exit Exit from the CLI ping Send messages to network hosts reboot Halt and perform a cold restart show Show running system information traceroute Print the route packets trace to network host # configure terminal (config)# ! Comments do To run exec commands in config mode exit Exit from configure mode hostname Set system's network name interface Select an interface to configure ip Global IP configuration subcommands no Negate a command or set its defaults (config)# ip route 172.0.11.2/24 172.0.11.1 /tmp/klish.fifo.9205.MfgOB7: 6: /tmp/klish.fifo.9205.MfgOB7: ip: not found