Java 管道化定制ssh控制台的输出

Java 管道化定制ssh控制台的输出,java,bash,Java,Bash,我们的产品通过嵌入ssh服务器(基于java)和公开一系列自定义命令来公开管理控制台。其中一些命令的输出可能非常冗长。目前,我们通过使用-dump这样的标志将输出转储到文本文件以供以后处理来处理这些问题 我想知道是否有可能将输出通过管道传输到标准unix实用程序,如grep(非交互式)和less(交互式),以便用户可以在不离开终端的情况下分析结果。目前,这只需要在linux上工作 通过管道传输到交互式命令似乎几乎是不可能的,但任何远程有用的建议都将受到极大的欢迎(并被投票)将交互式命令保留在本地

我们的产品通过嵌入ssh服务器(基于java)和公开一系列自定义命令来公开管理控制台。其中一些命令的输出可能非常冗长。目前,我们通过使用-dump这样的标志将输出转储到文本文件以供以后处理来处理这些问题

我想知道是否有可能将输出通过管道传输到标准unix实用程序,如grep(非交互式)和less(交互式),以便用户可以在不离开终端的情况下分析结果。目前,这只需要在linux上工作


通过管道传输到交互式命令似乎几乎是不可能的,但任何远程有用的建议都将受到极大的欢迎(并被投票)

将交互式命令保留在本地主机上,而将非交互式命令保留在远程主机上,即

ssh remotehost ls /bin

ssh remotehost cat /var/log/messages | less
less
命令在本地运行,除非将其包含在引号中:

ssh remotehost "cat /var/log/messages | less"

我会制作这样的包装脚本:

#!/bin/bash
# filename: custom-command
/usr/bin/java /path/to/custom-command.java $@ | less

您的意思是现在有人可以将java应用程序放在后台(Ctrl-Z),然后执行
less dump.txt
,但您希望他们能够从java应用程序中打开
less