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文件如何配置,如何读取还需要继续研究。可参考手册获取更多信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/80762.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理解计算机系统_并发编程(3)_基于I/O复用的并发(二):基于I/O多路复用的并发事件驱动服务器

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 接续上一帖理解计算机系统_并发编程(2)_基于I/O复用的并发…

系统可靠性分析:指标解析与模型应用全览

以下是关于系统可靠性分析中可靠性指标、串联系统与并联系统、混合系统、系统可靠性模型的相关内容&#xff1a; 一、可靠性指标 可靠度&#xff1a;是系统、设备或元件在规定条件和规定时间内完成规定功能的概率。假设一个系统由多个部件组成&#xff0c;每个部件都有其自身…

数字高程模型(DEM)公开数据集介绍与下载指南

数字高程模型&#xff08;DEM&#xff09;公开数据集介绍与下载指南 数字高程模型&#xff08;Digital Elevation Model, DEM&#xff09;广泛应用于地理信息系统&#xff08;GIS&#xff09;、水文模拟、城市规划、环境分析、灾害评估等领域。本文系统梳理了主流的DEM公开数据…

Python+大模型 day01

Python基础 计算机系统组成 基础语法 如:student_num 4.标识符要做到见名知意,增强代码的可读性 关键字 系统或者Python定义的,有特殊功能的字符组合 在学习过程中,文件名没有遵循标识符命名规则,是为了按序号编写文件方便查找复习 但是,在开发中,所有的Python文件名称必须…

C++引用编程练习

#include <iostream> using namespace std; double vals[] {10.1, 12.6, 33.1, 24.1, 50.0}; double& setValues(int i) { double& ref vals[i]; return ref; // 返回第 i 个元素的引用&#xff0c;ref 是一个引用变量&#xff0c;ref 引用 vals[i] } // 要调用…

机密虚拟机的威胁模型

本文将介绍近年兴起的机密虚拟机&#xff08;Confidential Virtual Machine&#xff09;技术所旨在抵御的威胁模型&#xff0c;主要关注内存机密性&#xff08;confidentiality&#xff09;和内存完整性&#xff08;integrity&#xff09;两个方面。在解释该威胁可能造成的问题…

【Rust trait特质】如何在Rust中使用trait特质,全面解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

Simulink模型回调

Simulink 模型回调函数是一种特殊的 MATLAB 函数&#xff0c;可在模型生命周期的特定阶段自动执行。它们允许用户自定义模型行为、执行初始化任务、验证参数或记录数据。以下是各回调函数的详细说明&#xff1a; 1. PreLoadFcn 触发时机&#xff1a;Simulink 模型加载到内存之…

FPGA:Xilinx Kintex 7实现DDR3 SDRAM读写

在Xilinx Kintex 7系列FPGA上实现对DDR3 SDRAM的读写&#xff0c;主要依赖Xilinx提供的Memory Interface Generator (MIG) IP核&#xff0c;结合Vivado设计流程。以下是详细步骤和关键点&#xff1a; 1. 准备工作 硬件需求&#xff1a; Kintex-7 FPGA&#xff08;如XC7K325T&…

Python爬虫实战:研究进制流数据,实现逆向解密

1. 引言 1.1 研究背景与意义 在现代网络环境中,数据加密已成为保护信息安全的重要手段。许多网站和应用通过二进制流数据传输敏感信息,如视频、金融交易数据等。这些数据通常经过复杂的加密算法处理,直接分析难度较大。逆向工程进制流数据不仅有助于合法的数据获取与分析,…

Java Spring Boot项目目录规范示例

以下是一个典型的 Java Spring Boot 项目目录结构规范示例&#xff0c;结合了分层架构和模块化设计的最佳实践&#xff1a; text 复制 下载 src/ ├── main/ │ ├── java/ │ │ └── com/ │ │ └── example/ │ │ └── myapp/ │…

图像颜色理论与数据挖掘应用的全景解析

文章目录 一、图像颜色系统的理论基础1.1 图像数字化的本质逻辑1.2 颜色空间的数学框架1.3 量化过程的技术原理 二、主要颜色空间的深度解析2.1 RGB颜色空间的加法原理2.2 HSV颜色空间的感知模型2.3 CMYK颜色空间的减色原理 三、图像几何属性与高级特征3.1 分辨率与像素密度的关…

mysql两张关联表批量更新一张表存在数据,而另一张表不存在数据的sql

一、mysql两张关联表批量更新一张表存在、另一张表不存在的数据 创建user和user_order表 CREATE TABLE user (id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,id_card varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NU…

PNG转ico图标(支持圆角矩形/方形+透明背景)Python脚本 - 随笔

摘要 在网站开发或应用程序设计中&#xff0c;常需将高品质PNG图像转换为ICO格式图标。本文提供一份基于Pillow库实现的&#xff0c;能够完美保留透明背景且支持导出圆角矩形/方形图标的格式转换脚本。 源码示例 圆角方形 from PIL import Image, ImageDraw, ImageOpsdef c…

在线SQL转ER图工具

在线SQL转ER图网站 在数据库设计、软件开发或学术研究中&#xff0c;ER图&#xff08;实体-关系图&#xff09; 是展示数据库结构的重要工具。然而&#xff0c;手动绘制ER图不仅耗时费力&#xff0c;还容易出错。今天&#xff0c;我将为大家推荐一款非常实用的在线工具——SQL…

绘制时间对应的数据曲线

头文件#pragma once #include "ChartControl.h" #include <vector> #include "DBOperate.h&

【挑战项目】 --- 微服务编程测评系统(在线OJ系统)(二)

三十二、Swagger介绍&使用 官网:https://swagger.io/ 什么是swagger Swagger是一个接口文档生成工具,它可以帮助开发者自动生成接口文档。当项目的接口发生变更时,Swagger可以实时更新文档,确保文档的准确性和时效性。Swagger还内置了测试功能,开发者可以直接在文档中…

人事管理系统总结

1.Maven 创建 Spring Boot 项目&#xff1a; 主要使用 Maven 创建 Spring Boot 项目、配置 MySQL 数据库、回顾 Spring Boot 分层架构、使用 MyBatis 逆向工程生成代码及整合测试项目等内容&#xff0c;具体如下&#xff1a; Maven 创建 Spring Boot 项目 可通过 IDEA 直接创…

SpringBoot--springboot简述及快速入门

spring Boot是spring提供的一个子项目&#xff0c;用于快速构建spring应用程序 传统方式&#xff1a; 在众多子项目中&#xff0c;spring framework项目为核心子项目&#xff0c;提供了核心的功能&#xff0c;其他的子项目都需要依赖于spring framework&#xff0c;在我们实际…

INT202 Complexity of Algroithms 算法的复杂度 Pt.7 NP-Completeness NP完全性

文章目录 1.P与NP问题1.1 计算上难以解决的问题&#xff08;Hard Computational Problems&#xff09;1.2 决策问题和优化问题&#xff08;Decision/Optimization problems&#xff09;1.3 计算问题的正式定义1.4 复杂性类1.4.1 复杂性类 P P P1.4.2 证明&#xff08;Certifica…