我正在CentOS服务器上运行一个.NET Core控制台应用程序。下面的代码对于普通命令(如uptime
)可以执行,但无法执行lz4 -dc --no-sparse vnp.tar.lz4 | tar xf - Logs.pdf
:
try
{
var connectionInfo = new ConnectionInfo("server", "username", new PasswordAuthenticationMethod("username", "pwd"));
using (var client = new SshClient(connectionInfo))
{
client.Connect();
Console.WriteLine("Hello World!");
var command = client.CreateCommand("lz4 -dc --no-sparse vnp.tar | tar xf - Logs.pdf");
var result = command.Execute();
Console.WriteLine("yup ! UNIX Commands Executed from C#.net Application");
Console.WriteLine("Response came form UNIX Shell" + result);
client.Disconnect();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
期望的输出是将Logs.pdf文件提取并保存在当前位置。有人能帮我纠正一下吗?
command = command.Replace("\"", "\\\"");
- tom.maruska