首页 / 知识
关于 java:向 Unix 命令行应用程序添加命令调用
2023-04-14 12:35:00

Adding command recall to a Unix command line application我正在开发一个用 Java6 编写的 Solaris 命令行应用程序。我希望能够像许多 Unix 工具(shell、VIM 命令模式提示符等)一样使用向上和向下箭头滚动浏览先前命令的历史记录。 是否有任何标准方法可以实现这一点,还是我必须自己动手? 是的,使用 GNU readline 库。 我认为您正在寻找 JLine 之类的东西,但我从未使用过它,因此无法证明它的质量。 她显然可以处理自动完成和命令行历史,最后一个版本是最近(今年 2 月),所以它绝不是死的。 ledit 在 linux 上非常适合这类事情。它可能很容易在 solaris 上编译。 澄清:ledit package了对您其他命令行应用程序的调用,甚至可以传递一个文件以永久存储您的历史记录。 这是主页:http://cristal.inria.fr/~ddr/ledit/ 警告:GNU readline 受 GPL 许可条款的约束:
换句话说,使用 Readline 将 GPL 特性从一个库传播到整个程序。 (与 LGPL 相比,它允许运行时链接到库,并且只需要开源来改进库本身。) 对于我们这些在商业领域的人来说,即使我们不开发商业应用程序,这也是一个阻碍。 无论如何,维基百科页面列出了几个替代方案,包括 JLine,这听起来很有希望。 顺便说一句:我在一家设计医疗产品的公司工作。我们从 PC 软件中赚取零 (0) 美元。几乎我们所有的软件都在我们设计的嵌入式系统上运行(我们不会从该软件的销售/升级中赚钱,只有产品本身);有时我们确实有可以在最终用户的 PC 上运行的软件诊断工具。 (未向客户发布的设计/制造/测试软件我认为可能使用 GPL 库,但我不确定)医疗产品具有相当严格的控制;你基本上必须向 FDA 证明它对用户是安全的,这不像最终用户可以决定"哦,我不喜欢这个软件,我会对其进行调整或使用 XYZ 公司的售后替代品"——那会让设备制造商承担巨大的责任。 有一个 SourceForge 项目,http://java-readline.sourceforge.net/,它为 GNU readline 提供基于 JNI 的绑定。我玩过它(没有在实际项目中使用),它肯定涵盖了所有功能。 |
最新内容
相关内容
linuxln命令实例?
linuxln命令实例?,位置,数据,链接,地方,信息,文件,系统,概念,名字,盘中,ln命令用什么查看软连接的信息?1、用命令:ls -l 查看, 最前面有“l”的了解linux下常用命令?
了解linux下常用命令?,工作,地址,系统,信息,命令,标准,目录,常用命令,操作,功能,linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是linux获取地址命令?
linux获取地址命令?,地址,网络,信息,系统,设备,终端,命令,中心,管理,数字,linux怎么查看ip地址目录方法1:使用Ubantu(乌班图)界面右键点击通知区linux的u盘启动命令?
linux的u盘启动命令?,系统,电脑,工具,信息,软件,网上,名称,工作,设备,通用,从U盘启动linux系统1、在启动界面上选择启动 Linux,进入安装界面。linux终端返回命令行?
linux终端返回命令行?,密码,状态,平台,系统,电脑,环境,认证,地址,终端,命令,在linux命令行输入了错误命令,怎么返回命令行界面?返回到我的桌面linux远程执行多命令?
linux远程执行多命令?,工具,服务,命令,状态,暂停,代码,底部,时间,地址,系统,Linux多台主机批量执行命令1、执行命令(记得先对doCommand.s h增加linux输入过的命令?
linux输入过的命令?,系统,地址,数字,命令,工具,工作,环境,界面,历史,指令,linux系统查看自己在linux上使用过的前10次命令1、首先打开Linux直改文件linux命令行?
改文件linux命令行?,地址,系统,工作,信息,数字,文件,命令,设备,密码,权限,linux常用命令有哪些1、linux系统常用操作命令linux系统常用操作命linux重新开机命令?
linux重新开机命令?,系统,工作,标准,设备,命令,灵活,用户,电源,提示,主机,linux系统的重启命令有哪些?1、shutdown。poweroff。init。reboot。linux线程查询命令?
linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Linux系统如何查看进程的线程数1、第一种方法:top命令法首先执行top用linux命令输出id?
用linux命令输出id?,系统,设备,工作,信息,地址,命令,工具,基础,目录,进程,linux命令SCSI_IDscsi_id是通过sg驱动,向设备发送EVPD page80或page8linux架构快照命令?
linux架构快照命令?,工作,系统,地址,信息,命令,目录,状态,基础,管理,多地,Linux单独的ps命令作用是什么?Linux ps命令,英文全拼process status