using System; using System.Collections.Generic; using System.Diagnostics; using System.Text; namespace Wood.Util { public class ShellHelper { public static string Bash(string command) { var escapedArgs = command.Replace("\"", "\\\""); var process = new Process() { StartInfo = new ProcessStartInfo { FileName = "/bin/bash", Arguments = $"-c \"{escapedArgs}\"", RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = true, } }; process.Start(); string result = process.StandardOutput.ReadToEnd(); process.WaitForExit(); process.Dispose(); return result; } public static string? Cmd(string fileName, string args) { string? output = string.Empty; var info = new ProcessStartInfo(); info.FileName = fileName; info.Arguments = args; info.RedirectStandardOutput = true; using (var process = Process.Start(info)) { output = process?.StandardOutput.ReadToEnd(); } return output; } } }