# xcloud-shell
**Repository Path**: hedden/xcloud-shell
## Basic Information
- **Project Name**: xcloud-shell
- **Description**: Shell-cli is an open source command-line tool based on spring cloud service, which is similar to the way spark-shell works.
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 5
- **Created**: 2021-03-17
- **Last Updated**: 2022-07-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Shell Cli 一个基于SpringBoot Cloud的开源命令行工具,运行方式类似于spark-shell。
English version goes [here](README.md).
# 快速开始
## Maven依赖
- Springboot项目只需依赖
```
com.wl4g
xcloud-shell-springboot
2.0.0
com.wl4g
xcloud-shell-cli
2.0.0
```
- Java项目只需依赖
```
com.wl4g
xcloud-shell-core
2.0.0
com.wl4g
xcloud-shell-cli
2.0.0
```
[新建命令处理类示例](xcloud-shell-example/src/main/java/com/wl4g/shell/example/console/ExampleConsole.java)
## 源码编译(若需二次开发)
```
cd xcloud-shell
mvn clean install -DskipTests -T 2C
```
## 启动
### 方式一
指定服务的端口,然后以客户端运行(适用于客户端模式,通常临时用于连接应用服务使用):
```
java -Dservpoint=127.0.0.1:60103 -Dprompt=my-shell -Dtimeout=5000 -jar shell-cli-master-executable.jar
```
在上面的命令中 -Dservpoint 表示要连接的SpringBoot/Cloud服务侦听地址和端口。
### 方式二
指定服务的名称,然后直接作为客户端运行(适用于本地模式,通常作为应用服务的内置控制台使用)。
```
java -Dservname=shell-example -Dprompt=my-shell -Dtimeout=5000 -jar shell-cli-master-executable.jar
```
上面的命令中 -Dservname 表示服务端SpringBoot/Cloud应用名称(对应spring.application.name),它会依据servname在本地自动查
找服务端口建立连接(注意大小写).也可使用 [方式一](#方式一) 以-Dservpoint 来显示指定服务端点,其中使用 -Dprompt 来设置shell
控制台的命令行提示符,-Dtimeout 指定等待结果返回超时时间(默认:180_000ms),还可使用-Dxdebug打印调试信息。
## 特性
- Ctrl+A 光标跳至行首、Ctrl+E 光标跳至行尾、Ctrl+C 退出控制台(遵循GNU)

- 使用serverpoint连接

- help帮助

- 強制中断运行中的任务

- 支持实时进度条与中断确认交互操作

## 内置命令
- clear/cls 清理控制台
- exit/ex/quit/qu 退出控制台
- history/his 查看历史命令(持久文件:$USER_HOME/.devops/shell/history)
- stacktrace/st 查看上一次异常的堆栈信息(若有)
- help/he 使用帮助,用法如:help/help sumTest/sumTest --help/sumTest --he/ 其中 sumTest 为一个求和的测试命令