C#执行linux指令

@果酱  July 29, 2024

/// <summary>
/// 使用指定的二进制文件(默认为/bin/bash)来执行对应的指令(在当前运行环境上执行)
/// </summary>
/// <param name="bin">执行指令的二进制主体文件</param>
/// <param name="command">要执行的指令</param>
/// <returns></returns>
public (int exitCode, string result) Execute(string bin = "/bin/bash", string command = "")
{
    string result = string.Empty;
    int exitCode = 0;
    var escapedArgs = command.Replace("\"", "\\\"");
    using (Process process = new Process()
    {
        StartInfo = new ProcessStartInfo
        {
            FileName = bin,
            Arguments = $"-c \"{escapedArgs}\"",
            RedirectStandardOutput = true,
            UseShellExecute = false,
            CreateNoWindow = true,
        }
    })
    {
        process.Start();
        result = process.StandardOutput.ReadToEnd();
        process.WaitForExit();
        exitCode = process.ExitCode;
        process.Close();
    }
    return (exitCode, result);
}


添加新评论

  1. 博主真是太厉害了!!!

    Reply
  2. 看的我热血沸腾啊

    Reply
  3. 不错不错,我喜欢看 www.jiwenlaw.com

    Reply