我们的产品通过嵌入ssh服务器(基于java)并公开一堆自定义命令来公开管理控制台。其中一些命令的输出可能非常冗长。目前我们通过使用-dump等标志将输出转储到文本文件以供以后处理来处理这些问题。
我想知道是否可以将输出传输到标准的unix实用程序,如grep(非交互式)和更少(交互式),以便用户可以在不离开终端的情况下分析结果。这需要目前只在Linux上工作。
管道到交互式命令似乎几乎是不可能的,但任何远程有用的建议都将受到高度赞赏(并获得赞成)
答案 0 :(得分:1)
将交互式命令保留在本地主机上,将非交互式命令保留在遥控器上,即
ssh remotehost ls /bin
ssh remotehost cat /var/log/messages | less
less
命令在本地运行,除非您将其包含在引号中:
ssh remotehost "cat /var/log/messages | less"
答案 1 :(得分:1)
我会做一个这样的包装脚本:
#!/bin/bash
# filename: custom-command
/usr/bin/java /path/to/custom-command.java $@ | less