Java 管道化定制ssh控制台的输出
我们的产品通过嵌入ssh服务器(基于java)和公开一系列自定义命令来公开管理控制台。其中一些命令的输出可能非常冗长。目前,我们通过使用-dump这样的标志将输出转储到文本文件以供以后处理来处理这些问题 我想知道是否有可能将输出通过管道传输到标准unix实用程序,如grep(非交互式)和less(交互式),以便用户可以在不离开终端的情况下分析结果。目前,这只需要在linux上工作Java 管道化定制ssh控制台的输出,java,bash,Java,Bash,我们的产品通过嵌入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
?