Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自C#客户端重定向文件的SSH命令_C#_Redirect_Ssh_Sharpssh - Fatal编程技术网

来自C#客户端重定向文件的SSH命令

来自C#客户端重定向文件的SSH命令,c#,redirect,ssh,sharpssh,C#,Redirect,Ssh,Sharpssh,最初的Unix实现只是做了如下操作: ssh [batchname] < [inputfilename] > [outputfilename] ssh[batchname][outputfilename] 我需要能够在运行C#编写的应用程序的windows计算机上执行同样的操作。我尝试过使用SharpSsh,它包括输入和输出流,但它们似乎不起作用 如何使用SharpSsh(或任何其他.Net库)通过管道传输输入和输出文件/流?解决了这个问题。正在运行的应用程序或SSH本身都希望c

最初的Unix实现只是做了如下操作:

ssh [batchname] < [inputfilename] > [outputfilename]
ssh[batchname]<[inputfilename]>[outputfilename]
我需要能够在运行C#编写的应用程序的windows计算机上执行同样的操作。我尝试过使用SharpSsh,它包括输入和输出流,但它们似乎不起作用


如何使用SharpSsh(或任何其他.Net库)通过管道传输输入和输出文件/流?

解决了这个问题。正在运行的应用程序或SSH本身都希望ctrl-d发出输入结束的信号。在这一点上,可以不挂起就读取输出流。

解决了这个问题。正在运行的应用程序或SSH本身都希望ctrl-d发出输入结束的信号。在这一点上,可以不挂起就读取输出流。

如果其他人正在查找,请查看。它让您可以非常轻松地运行流程和管道输入/输出

wait使用var input=File.Open(“input.txt”);
等待使用var output=File.Create(“output.txt”);
等待使用var error=File.Create(“error.txt”);
var cmd=input | Cli.Wrap(“child.exe”)。带有参数(“foo bar”)|(输出,错误);
wait cmd.ExecuteAsync();

如果其他人正在查找此文件,请查看。它让您可以非常轻松地运行流程和管道输入/输出

wait使用var input=File.Open(“input.txt”);
等待使用var output=File.Create(“output.txt”);
等待使用var error=File.Create(“error.txt”);
var cmd=input | Cli.Wrap(“child.exe”)。带有参数(“foo bar”)|(输出,错误);
wait cmd.ExecuteAsync();

“它不起作用”太宽泛了。你试过调试代码吗?你有什么问题?这取决于我想做什么。一般来说,这种行为就像从未与服务器连接的流一样。我不知道输入流是否曾经向服务器获取过信息,但输出流总是关闭且不可读,或者读取将挂起的时间远远超过它应该挂起的时间(应该需要一秒或两秒,等待几分钟)。更明确地说,如果我使用SshExec.RunCommand并简单地将输入文件内容添加到命令字符串中(用空格或换行符分隔),RunCommand调用不会返回。如果我使用SshShell并写出命令和输入文件,输出流不可用或保持为空。能否请您发布一个代码片段,说明您是如何理解的?我实际上面临着同样的问题:(需要您的帮助。提前谢谢。“它不起作用”太广泛了。您是否尝试调试代码?您遇到了什么问题?这取决于我尝试执行的操作。通常情况下,该行为就像从未与服务器连接的流一样。我不知道输入流是否曾经向服务器发送过信息,但输出流总是关闭且无法读取,或者读取将挂起很长时间比它应有的时间长(应该需要一两秒钟,等待几分钟)。更明确地说,如果我使用SshExec.RunCommand并简单地将输入文件内容添加到命令字符串中(用空格或换行符分隔),RunCommand调用不会返回。如果我使用SshShell并写出命令和输入文件,则输出流不可用或保持为空。能否请您发布一段代码片段,说明您是如何理解的?我实际上面临着相同的问题:(需要你的帮助。提前谢谢。仅供参考:你可以接受自己的答案,让别人知道它的存在。仅供参考:你可以接受自己的答案,让别人知道它的存在。