3

JavaのProcessBuilderクラスを使用して、CygwinにバンドルされているSSHユーティリティを起動しています。すべてが正常に動作します。SSH経由でLinuxサーバーに接続し、コマンドを実行して出力を読み取ることができます。

ただし、出力が返されるときはいつでも、サーバーにログインしてコマンド(ディレクトリリストなど)を実行した後にのみ発生し、次のlsようなものが返さ れます。

InputStream: root@myserver:/scripts/common# ls 
InputStream: [00m[00mA1-4.yaml[00m                            [01;32mscip-1.2.0.linux.x86_64.gnu.opt.qso[00m
InputStream: [00madditional_files.txt[00m                 [01;32mscip-1.2.0.linux.x86_64.gnu.opt.spx[00m

私が理解している限り、それはファイルリストコマンドでのみ発生しています。たとえば、時間などの他のコマンドを実行している場合、通常の出力が表示されます。

これらのランダムな文字をファイル名に追加しているのは何であるかを提案できますか?

UTF8エンコーディングを使用しようとしましたが、何も変わりません。コマンドラインを使用して直接ログインすると、これらの結果が表示されません。ただし、コマンドラインにはファイル名が色付きの値で表示されます。ASCIIではない追加情報が追加されているということですか?

4

1 に答える 1

1

コマンドを使用すると、ls --color=none この問題が解決します。

これは、デフォルトでlsコマンドが異なるカラーコード値が追加されたファイル名を返すために発生します。このリンクはより多くの情報を提供します

次の図は、との違いを示しlsていls --color=noneます。

ここに画像の説明を入力してください

于 2012-05-25T10:48:13.513 に答える