ASP.NET Core如何执行Linux shell命令?

时间:2020-11-25 11:59:31

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.

我在linux上有一个asp.net核心web应用程序,现在,我想执行shell命令并获取结果表单命令,我不知道,请帮助我。

Is there any way to execute a linux shell command from within an ASP.NET Core application and return the value into a variable?

有没有办法从ASP.NET Core应用程序中执行linux shell命令并将值返回到变量?

1 个解决方案

#1


0  

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).

我还会添加一些方法来判断返回的字符串是错误还是只是一个“正常”输出(返回Tuple 或抛出异常并将错误作为消息)。 ,string>

#1


0  

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).

我还会添加一些方法来判断返回的字符串是错误还是只是一个“正常”输出(返回Tuple 或抛出异常并将错误作为消息)。 ,string>