jinghefei 发表于 2016-6-5 11:41:18

实现类似于CISCO路由器的命令行帮助界面

7. Klish - Kommand Line Interface Shell (the fork of clish project)



http://code.google.com/p/klish/
Klish是一个命令行补全工具,可以实现类似于CISCO路由器的命令行帮助界面。它是Clish的后续版本,Klish有一个特殊的功能,可以让用户仅使用指定目录中的命令。


7.1. 安装Klish



# cd /usr/local/src/
# wget http://klish.googlecode.com/files/klish-1.6.4.tar.bz2
# tar jxvf klish-1.6.4.tar.bz2
# cd klish-1.6.4/
# ./configure --prefix=/srv/klish-1.6.4
# make
# make install
# cp -r xml-examples /srv/klish-1.6.4/
# export CLISH_PATH=/srv/klish-1.6.4/xml-examples/clish

  启动clish


# /srv/klish-1.6.4/bin/clish
********************************************
*         CLISH (see-lish)               *
*                                          *
*      WARNING: Authorised Access Only   *
********************************************
Welcome root it is Mon Feb 18 09:59:06 CST 2013
>




7.2. 为用户指定clish作为默认Shell



# vim /etc/passwd
neo:x:1000:1000:neo,,,:/home/neo:/bin/bash

  改为

neo:x:1000:1000:neo,,,:/home/neo:/srv/klish-1.6.4/bin/clish




7.3. FAQ




7.3.1. clish/shell/shell_expat.c:36:19: fatal error: expat.h: No such file or directory



clish/shell/shell_expat.c:36:19: fatal error: expat.h: No such file or directory
compilation terminated.
make: *** Error 1
make: Leaving directory `/usr/local/src/klish-1.6.4'
make: *** Error 2

  解决方案,安装expat开发包

# apt-get install libexpat1-dev
页: [1]
查看完整版本: 实现类似于CISCO路由器的命令行帮助界面