diff --git a/README.md b/README.md index e0293e5..06a0d16 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ## 概述 -hss是一款可交互式的ssh批量执行命令的客户端,工具基于[libreadline](https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)实现,使你能像操作bash一样地输入需要执行的命令,同时也支持命令搜索,历史命令纪录等。并且工具支持在输入命令时,按一下`tab`键,即可根据远程服务器的信息,进行文件路径和执行命令补全。另外命令的执行是异步的,无需等待一台机器命令执行完成才执行下一台的ssh操作,可支持同时操作数百台服务器。 +hss是一款可交互式的ssh批量执行命令的客户端,交互输入模式基于[libreadline](https://cnswww.cns.cwru.edu/php/chet/readline/rltop.html)实现,使你能像操作bash一样地输入需要执行的命令,同时也支持命令搜索,历史命令纪录等。并且工具支持在输入命令时,按一下`tab`键,即可根据远程服务器的信息,进行文件路径和执行命令补全。另外命令的执行是异步的,无需等待一台机器命令执行完成才执行下一台的ssh操作,可支持同时操作数百台服务器。 hss还支持插件扩展,可通过`Esc`键将运行模式从`remote`切换到`inner`,在这里可处理一些批量操作:动态增加删除机器、设置程序运行时的配置等,更多的有趣的功能可能将在后续版本逐渐添加。 @@ -117,3 +117,26 @@ hss命令本身也可以携带一些简单的参数,这些参数将作为每 host管理,可动态增加或删除需要连接的远程host +### readline使用 + +可交互式的命令输入,基于`libreadline`实现,支持远程命令补全,远程文件路径补全,历史命令保存,历史命令搜索,快捷移动等 + +* 输入的历史命令保存在`~/.hss_history`文件中 +* 远程命令和文件路径补全,数据信息来自于第一个host连接 +* 进行文件路径补全时,需要当前单词的首字符是`/`, `~`, `.`才可提示补全 +* 对于是符号链接的目录,路径补全时会提示以`@`结尾,目前还没找到好的解决办法 + +以下列举一些简单的快捷命令(更多命令参考[readline说明](http://cnswww.cns.cwru.edu/php/chet/readline/readline.html#SEC1)) + +``` +C-a Move to the start of the line. +C-e Move to the end of the line. +M-f Move forward a word, where a word is composed of letters and digits. +M-b Move backward a word. + +C-l Clear the screen, reprinting the current line at the top. +C-u Kill backward from the cursor to the beginning of the current line. +C-w Kill the word behind point, using white space as a word boundary. + +C-r Search backward starting at the current line and moving up through the history as necessary. +```