jline初步了解
2016-03-25 09:40
309 查看
jline 初步了解
jline是用java开发的仿shell终端模拟工具包,模拟shell终端,以命令行的方式读取输入信息。1. 属性配置
原文档地址两种配置方式:通过jline配置文件配置,或者标准的system properties(jvm或者System.setProperty)配置.
jline.configuration - jline配置文件路径。默认值为$HOME/.jline.rc。
jline.terminal - 区别终端类型。
jline.shutdownhook - (true/false) 设定JLine是否安装JVM钩子。用于在程序退出时把中断恢复为原来状态。默认为true。
jline.nobell - 按下无效按键时不响铃。
jline.esc.timeout - (默认 150ms) ESC键按下后jline等待另一个键的时间。
jline.inputrc - 覆盖默认位置$HOME/.inputrc。
jline.completion.threshold - 多于此值时,在显示所有匹配值前先发出warning。
Windows Specific
jline.WindowsTerminal.ansi - (默认true)是否支持ANSI。jline.WindowsTerminal.directConsole - (默认true)是否使用JNI console interaction。(可能会使控制台读取部分处于死循环,可以设置为false,绕过本地Windows API,直接使用Java IO流输出: 博客地址)
Unix Specific
jline.stty - stty程序路径。jline.sh - (默认为sh) 执行外部程序的shell名称。
2. JLine 2.x Wiki
原文档地址特性
Command history - 之前被输入的命令会被记录,也可以被持久化。Line editing - 可以在当前行随意编辑,并支持emacs和vi的key mappings。
Completion - 以可插入方式来实现命令行的tab补全。
Custom key bindings - 按键绑定动作,在.inputrc文件中设定。
Character Masking - 在输入密码时很有用。
99.99% Java - JLine大部分由Java实现,少部分使用本地代码,来支持Windows。
3. 日志配置
原文档地址JLine不依靠其他日志框架,而是使用内部工具
jline.internal.Log
默认把日志信息输入到
System.err(默认只输出WARN和ERROR)。可通过以下方式改变输出流:
jline.internal.Log.setOutput(final PrintStream out)
从2.13开始可以使用
java.util.logging框架。前提是在配置文件中做以下设置:
jline.log.jul=true
想输出DEBUG日志:
jline.internal.Log.debug=true
想要输出TRACE信息:
jline.internal.Log.trace=true
4. 终端配置
原文档地址jline.terminal=_type_
终端类型:
auto
unix
win
windows
none
off
false
class implementing jline.Terminal
默认值由系统自动决定。
也可以通过以下方式在程序中设定
jline.TerminalFactory.configure(String type)
5. 使用JLine
原文档地址相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- shell字符串操作详解
- Shell中删除某些文件外所有文件的3个方法
- Ruby中执行Linux shell命令的六种方法详解
- VB使用shell函数打开外部exe程序的实现方法
- Shell编程的一些知识集合
- Shell中的for和while循环详细总结
- 什么是Shell?Shell脚本基础知识详细介绍
- Shell脚本中引用、调用另一个脚本文件的2种方法
- Shell脚本解压rpm软件包
- Linux Shell 数组建立及使用技巧
- Shell脚本实现复制文件到多台服务器的代码分享
- Shell脚本实现批量替换文件内容
- Shell脚本实现的一个简易Web服务器例子分享
- linux Shell学习笔记第五天