6

$KARAF_HOME/bin/startCentOS 6.5を使用してサーバーモードでApache Karaf 3.0.0を起動しました。次に、これらのコマンドを使用していくつかのコマンドを実行し$KARAF_HOME/bin/client、これらのコマンドの出力をキャプチャして、コマンドが正常に実行されたことを確認したいと考えました。出力はコンソールに吐き出されましたが、ファイルにリダイレクトすることはできませんでした。Karaf は出力ストリームまたはエラー ストリームに何も書き込まないようです。私は次のことを試しました:

[apache-karaf-3.0.0]$ ./bin/start clean
[apache-karaf-3.0.0]$ ./bin/client "bundle:list"
Logging in as karaf
282 [pool-2-thread-3] WARN org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier - Server at /0.0.0.0:8101 presented unverified key:
START LEVEL 100 , List Threshold: 50
 ID | State  | Lvl | Version                 | Name
------------------------------------------------------------------------------------
 91 | Active |  80 | 1.8.0                   | Commons Codec
 92 | Active |  80 | 2.6                     | Commons Lang
 93 | Active |  80 | 15.0.0                  | Guava: Google Core Libraries for Java

[apache-karaf-3.0.0]$ ./bin/client "bundle:list" >& bundleList
[apache-karaf-3.0.0]$ cat bundleList
null

ファイルには何も書き込まれませんbundleListでした。出力をパイプすることも役に立たないようです。

4

3 に答える 3

3

コマンド ラインでは、「tac」を使用して -f でファイルにリダイレクトします。

于 2015-05-04T12:32:22.123 に答える
3

Karaf バージョン 3.0.2 でクライアント出力をキャプチャできます。

user@hostname:~$ client bundle:list > bundleinfo.txt

これにより、コンソールに次のデバッグ情報が表示されます。

2053 [sshd-SshClient[36c8e545]-nio2-thread-2] 警告 org.apache.sshd.client.keyverifier.AcceptAllServerKeyVerifier - [/0.0.0.0:8101、DSA、xx:xx:xx:xx:xx のサーバー: xx:xx:c 2:3a:5a:9b:87:ed:e0:b2:6a] 検証されていない {} キーが提示されました: {}

..そしてもちろん、期待どおりのコンテンツを含む bundleinfo.txt ファイル:

user@hostname:~$ head -5 bundleinfo.txt
START LEVEL 100 , List Threshold: 50
 ID | State    | Lvl | Version                 | Name
---------------------------------------------------------------------------------------------
38 | Active   |  80 | 3.2.5.RELEASE           | Spring Security Core
39 | Active   |  80 | 1.0.0.1                 | Apache ServiceMix :: Bundles :: javax.inject
于 2015-04-15T08:32:34.913 に答える