gpt4 book ai didi

centos - 使用dotnet core在Centos上执行linux命令

转载 作者:太空宇宙 更新时间:2023-11-03 17:20:58 25 4
gpt4 key购买 nike

我正在 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 文件需要提取并保存在当前位置。有人可以纠正我我在哪里

最佳答案

如果应用程序在 Linux 机器上运行,那么您也可以试试这个:

string command = "write your command here";
string result = "";
using (System.Diagnostics.Process proc = new System.Diagnostics.Process())
{
proc.StartInfo.FileName = "/bin/bash";
proc.StartInfo.Arguments = "-c \" " + command + " \"";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.Start();

result += proc.StandardOutput.ReadToEnd();
result += proc.StandardError.ReadToEnd();

proc.WaitForExit();
}
return result;

关于centos - 使用dotnet core在Centos上执行linux命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46419222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com