我是靠谱客的博主 辛勤书包,最近开发中收集的这篇文章主要介绍jline初步了解jline 初步了解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

原文档地址

最后

以上就是辛勤书包为你收集整理的jline初步了解jline 初步了解的全部内容,希望文章能够帮你解决jline初步了解jline 初步了解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部