当前位置: 首页 > news >正文

Centos 上安装Klish(clish)的编译和测试总结

1,介绍

        clish是一个类思科命令行补全与执行程序,它可以帮助程序员在nix操作系统上实现功能导引、命令补全、命令执行的程序。支持?,help, Tab按键。本文基于klish-2.2.0介绍编译和测试。

2,klish的编译

        需要安装的库:

sudo yum install expat-devel

sudo yum install libxml2-devel  :支持xml文件

 编译:

            ./configure  [--prefix = /usr/local/]

            make && make install

交叉编译:

         ./configure --host=mipsel-linux CC=mipsel-linux-gcc 

        :编译器找不到的话需要写绝对路径

 3,klish的启动

 我是默认安装在/usr/local下的,bin目录下存在4个文件:

clish : cli的实例程序,启动这个就可以像cli一样交互了,即:真正的交互程序konfd : 用于存储当前配置的守护程序,即:clish需要与konfd通过unix socket连接konf  :从 shell 与 konfd 守护进程通信的实用程序。sigexec : 用于从不可中断的 ACTION 脚本启动守护进程的实用程序。如:启动某个服务snmp/vftpd这个程序涉及到后续XML文件中的<ACTION></ACTION>标签

启动过程:

        1,启动konfd : ./konfd

        2,创建环境变量:

                CLISH_PATH=/home/work/klish-2.2.0/xml-examples/klish/etc/clish-enable

可查看源代码中的clish.c -> CLISH_PATH

如下:

        /*
         * if CLISH_PATH is unset in the environment then this is the value used.
         */
        const char *default_path = "/etc/clish;~/.clish"; 所以默认是etc下

        注: 使用klish安装目录下默认的xml文件

        3,启动clish:./clish

启动完成: 输入‘?’,显示当前视图下的命令

使用其中的ping 和 show ip route: 输入命令后,可使用Tab补全

4,clish中的XML文件

我使用的是如下路径的xml例子文件:

[root@hero clish-enable]# pwd
/home/work/klish-2.2.0/xml-examples/klish/etc/clish-enable

 ping.xml ,route.xml,interface.xml 是 刚刚提供的clish交互过程的命令

startup.xml : 是定义的首个启动视图,默认启动视图可修改,但仅仅一个

types.xml : 是<PARAM>标签中使用到的数据类型定义

可参考Klish提供的手册:

pkun/klish: The klish is a framework for implementing a CISCO-like CLI on a UNIX systems. It is configurable by XML files. @ 2.2 - libcode

5,总结

        本文介绍了Klish的安装于测试,方便后面参考,但klish不仅仅只有这些,对其中的xml文件如何配置,如何读取还需要继续研究。可参考手册获取更多信息。

相关文章:

  • 大数据开发 hadoop集群 3.Hadoop运行环境搭建
  • PinkWallet如何打通数字资产与传统金融的最后一公里
  • 嵌入式Linux Qt开发:1、搭建基于ubuntu18.04的Qt开发环境及测试(解决Qt creator输入法问题)
  • javaScript简单版
  • Linux——mysql主从复制与读写分离
  • 为什么 Linux 上默认没有 host.docker.internal
  • MySQL基础原理
  • 赋能数据报告:解锁智能化分析建议新姿势
  • Llama:开源的急先锋
  • ROS2学习(1)-------安装ROS2
  • 电脑开机提示按f1原因分析及解决方法(6种解决方法)
  • docker-compose——安装redis
  • C语言—再学习(指针)
  • AI 产业化浪潮:从生成智能到星载计算,中国如何重塑全球竞争格局
  • 力扣算法ing(70 / 100 )
  • Python爬虫实战:研究进制流数据,实现逆向解密
  • Protocol Buffers 全流程通俗讲解
  • DHCP协议
  • 基于 NanoDet 的工厂巡检机器人目标识别系统研究与实现​
  • 基于RFSOC ZU28DR+DSP 6U VPX处理板
  • 新闻1+1丨城市,如何对青年更友好?
  • 5吨煤炭“瞬间蒸发”?掺水炭致企业损失千万,腐败窝案曝光
  • 习近平同巴西总统卢拉共同出席合作文件签字仪式
  • 受贿3501万余元,中石油原董事长王宜林一审被判13年
  • 王毅会见巴西外长维埃拉、总统首席特别顾问阿莫林
  • 撤制镇如何突破困境?欢迎订阅《澎湃城市报告》第23期