发布于 

开发一个debug交互式的Cli工具

1. 介绍

做一个类似gdb的命令行工具,来检测我们线上运行的代码是否有问题。

或者说类似一个redis-cli这样的工具。

1
2
3
4
5
6
root@2c26dcffcd18:/data# redis-cli
127.0.0.1:6379> keys
(error) ERR wrong number of arguments for 'keys' command
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379>

比如我这边去开发一个辅助用户排查的工具,用户运行一个命令,会启动一个诊断工具,然后用户可以通过这个工具来查看一些信息,比如查看容器的状态,查看容器的日志,查看容器的配置等等。

2. 实现

2.1 读取命令

读取命令,然后执行RPC或者http调用,然后输出结果。

2.2 封装成一个命令行工具

此处我封装成了一个nodejs的包,用bin的方式执行。

2.3 发布到源方便下载

此处发布到了npm的平台

体验效果

安装

1
npm i @fedfans/stone -g

使用

1
2
3
4
5
6
7
8
9
➜  blog git:(master) ✗ stone
stone> help
command ls: list container
command version: show version
command help: show help
command q: exit
stone> ls
list container
stone>

如果你有什么意见和建议,可以点击: 反馈地址 进行反馈。