我工作的一个命令行程序,用于Solaris,编写Java6.我想要能够通过滚动的历史,以前的命令使用的上下箭头像许多的Unix工具允许(炮弹,VIM命令方式提示等等)。

是否有任何标准的方式实现这一点,或者我要滚是我自己的?

有帮助吗?

解决方案

是的,用的 GNU readline 图书馆。

其他提示

我认为你是在寻找的东西喜欢 JLine 但我从来没有使用这所以无法证明其质量。

她显然可以处理自动完成和命令行历史,最后释放最近(feb今年)使这绝不意味着死亡。

ledit是伟大的在linux之类的事情。它可能很容易地编制solaris。

澄清:ledit包裹打电话给你的其他命令行程序,并且甚至可以通过一个文件对持续存储你的历史。

这里的主页: http://cristal.inria.fr/~复员方案/ledit/

有一个SourceForge项目, http://java-readline.sourceforge.net/, 提供JNI基于绑定GNU readline.我已经发挥了与它周围的(不用在实际的项目),也肯定涵盖了所有的功能。

警告: GNU readline 是受到GPL许可证条款:

Readline是免费的软件,分布 根据《GNU通 公共许可证,第2版。这意味着 如果你想使用Readline在 节目是你的释放或散布 任何人,程序必须是自由的 软件,并有一个GPL兼容 许可证。如果你想咨询 制作你的执照GPL兼容的, 接触licensing@gnu.org.

换句话说,使用Readline传播GPL性从图书馆的整个程序。(与LGPL,它允许运行连接到图书馆,并要求开放的采购,仅用于改善图书馆本身。)

对于我们这些在商业世界,甚至如果我们不开展商业应用,这是一个表明塞。

无论如何, 维基百科页 列出了几个备选方案,包括JLine,这听起来很有希望。

只是作为一个旁白:我工作的公司,设计医疗产品。我们作为零(0)美元的电脑软件。几乎所有我们的软件运行的嵌入式系统,我们的设计(和我们不要让任何金钱的销售/升级,这种软件,只有产品本身);有时候我们也有软件的诊断工具,可以运行的终端用户的个人电脑。(设计/制造/测试的软件,这不是释放到我的客户会认为也许有可能使用GPL图书馆但我不确定)医疗产品具有相当严格的控制;你基本上必须证明到食品药物管理局,它是安全的用户,它不喜欢的终端用户可以决定"哦,我不喜欢这个软件,我只是调整它或使用XYZ公司的零部件市场替换"--这将留下的设备制造商开放的一个巨大的责任。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top