1

オリジナルの Unix 実装では、単純に次のようなことを行いました。

ssh [batchname] < [inputfilename] > [outputfilename]

C# で記述されたアプリケーションを実行している Windows マシンから同じことを実行できる必要があります。入力ストリームと出力ストリームを含む SharpSsh を使用してみましたが、機能していないようです。

SharpSsh (またはその他の .Net ライブラリ) を使用して、入力および出力ファイル/ストリームをパイプするにはどうすればよいですか?

4

2 に答える 2

1

理解した。実行中のアプリケーションまたは SSH 自体のいずれかが、ctrl-d が入力の終わりを知らせることを期待しています。その時点で、ハングせずに出力ストリームを読み取ることができます。

于 2011-01-19T23:02:46.903 に答える
0

他の誰かがこれを探している場合は、CliWrapをチェックしてください。プロセスを実行し、入力/出力を非常に簡単にパイプできます。

await using var input = File.Open("input.txt");
await using var output = File.Create("output.txt");
await using var error = File.Create("error.txt");

var cmd = input | Cli.Wrap("child.exe").WithArguments("foo bar") | (output, error);

await cmd.ExecuteAsync();
于 2020-04-15T16:44:40.533 に答える