本地部署 explainshell (命令行解释服务)

简介: 前段时间我们分享了explainshell.com 一个命令行解释的网站,它会分析命令的帮助文档,根据你想查询的命令参数来抽取对应的解释,然后非常清晰地显示出来。

前段时间我们分享了explainshell.com 一个命令行解释的网站,它会分析命令的帮助文档,根据你想查询的命令参数来抽取对应的解释,然后非常清晰地显示出来。

image.png

然而,有时我们会有本地查询的需求,比如:

  • 没有网络或网络很差(可能是沙漠里的无人区,或者管理严格的公司)
  • 本机上的命令网站上没有收录其帮助文档,或者收录的是不匹配的版本的文档

本文将介绍如何在本地架设explainshell服务。放心,这很容易。

首先我们需要将explainshell的git仓库克隆到本地:

git clone https://github.com/idank/explainshell.git

然后是安装需要的依赖。首先要安装mongodb,在Debian/Ubuntu下可以通过如下命令安装:

sudo apt-get install mongodb

然后是python的一些库,可以自动安装:

cd explainshell

pip install -r requirements.txt

之后是用mongodb加载分类数据:

mongorestore dump/explainshell && mongorestore -d explainshell_tests dump/explainshell

好了,差不多完成了,运行下测试,确保没出什么问题:

make tests

测试O.K.之后,我们添加下man page。仓库里自带的man page屈指可数,仅供测试之用。我们需要将本机上的man page添加过来。

rm -r manpages/1 manpages/2

ln -s /usr/share/man/man1 manpages/1

ln -s /usr/share/man/man8 manpages/8

python explainshell/manager.py --log info echo

注意我们使用了软链接,这样不会占用额外的磁盘空间,最重要的是,我们的操作系统更新软件之后我们不需要重复添加。

好了,现在只需启动服务就可以了

make serve

相关文章
|
7月前
|
测试技术
如何用命令行执行cypress?
如何用命令行执行cypress?
124 0
|
7月前
|
Shell
在Shell脚本或命令行中,标准错误输出
在Shell脚本或命令行中,标准错误输出
829 1
|
6月前
|
安全 Java Shell
一篇文章讲明白LinuxShell远程执行命令(命令行与脚本方式)
一篇文章讲明白LinuxShell远程执行命令(命令行与脚本方式)
535 0
|
7月前
|
存储 JSON Shell
进一步学习 nox 教程,轻松掌握命令行用法
进一步学习 nox 教程,轻松掌握命令行用法
62 1
|
7月前
|
机器学习/深度学习 大数据 Shell
Shell基础学习---1、Shell概述、脚本入门、变量
大数据学习 Shell基础学习---1、Shell概述、脚本入门、变量
417 1
|
Shell Linux Go
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
《Linux操作系统编程》第八章 Shell程序设计: shell 语言结构,包括测试、分支、循环、跳转、函数、语句组
128 0
|
Shell Linux C语言
01-shell-简介及第一个脚本
01-shell-简介及第一个脚本
|
安全 Shell 程序员
shell 脚本风格参考
shell 脚本风格参考
72 0
|
Shell
Shell脚本一键配置LAMP环境-脚本实例和解释
Shell脚本一键配置LAMP环境-脚本实例和解释
120 0
|
JavaScript Serverless Shell
函数计算命令行行工具|学习笔记
快速学习 函数计算命令行行工具
117 0
 函数计算命令行行工具|学习笔记
下一篇
DataWorks