2011-06-05 77 views
1

我們的產品通過嵌入ssh服務器(基於java)並公開一系列自定義命令來公開管理控制檯。其中一些命令的輸出可能非常冗長。目前我們通過使用像-dump這樣的標誌將輸出轉儲到文本文件供以後處理來處理這些問題。管道自定義ssh控制檯的輸出

我想知道是否有可能將輸出傳輸到像grep(非交互式)和less(交互式)這樣的標準unix實用程序,以便用戶可以在不離開終端的情況下分析結果。這隻需要在linux上工作。

管道交互式命令看來幾乎是不可能的,但任何遠程有益的建議,將不勝感激(和upvoted)

+0

你的意思是現在有人可以把java應用程序放在後臺(Ctrl-Z),然後做一個'less dump.txt',但是你希望他們能夠從你的Java應用程序打開'less'嗎? – toto2 2011-06-05 18:34:25

回答

1

保持本地主機和非交互式遙控器上的互動命令,即

ssh remotehost ls /bin 

ssh remotehost cat /var/log/messages | less 

less命令運行本地,除非你將其包含在報價:

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

我會馬這是一個包裝腳本......

#!/bin/bash 
# filename: custom-command 
/usr/bin/java /path/to/custom-command.java [email protected] | less