i have a asp.net core web app on linux ,now, i want to execulate shell command and get result form command , i have no idea , please help me.
Is there any way to execute a linux shell command from within an ASP.NET Core application and return the value into a variable?
string RunCommand(string command, string args)
{
    var process = new Process()
    {
        StartInfo = new ProcessStartInfo
        {
            FileName = command,
            Arguments = args,
            RedirectStandardOutput = true,
            RedirectStandardError = true,
            UseShellExecute = false,
            CreateNoWindow = true,
        }
    };
    process.Start();
    string output = process.StandardOutput.ReadToEnd();
    string error = process.StandardError.ReadToEnd();
    process.WaitForExit();
    if (string.IsNullOrEmpty(error)) { return output; }
    else { return error; }
}
// ...
string rez = RunCommand("date", string.Empty);
I would also add some way to tell if the string returned is an error or just a "normal" output (return Tuple<bool, string> or throw exception with error as a message).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With