.Net Core 执行Shell命令的时候,无论是 Windows 还是 Linux,实现方式的都是一样的
 

//fileName 命令文件,比如 ping,dig,nslookup 等,也可以执行其他第三方的可执行程序,不过就需要指定 WorkingDirectory
//arguments 具体参数
public static async Task Execute(string fileName, string arguments)
{ 
    string rValue = "",err="";
    Process p = new Process();
    p.StartInfo.FileName = fileName;
    p.StartInfo.Arguments = arguments;
    p.StartInfo.UseShellExecute = false;
    p.StartInfo.RedirectStandardOutput = true; //捕获返回正常的信息
    p.StartInfo.RedirectStandardError = true;  //捕获返回异常的信息
    p.EnableRaisingEvents = true; 
    // p.StartInfo.WorkingDirectory = WorkingDirectory;
    p.Start();
    p.WaitForExit();
    rValue = await p.StandardOutput.ReadToEndAsync();//获取返回正常的信息
    err = await p.StandardError.ReadToEndAsync();    //获取返回异常的信息

    return err + rValue;
}

比如返回 ping www.baidu.com 的结果

var result = Execute("ping","www.baidu.com");
Console.WriteLine(result);