Blame view

Yi.Abp.Net8/framework/Yi.Framework.Core/Helper/ShellHelper.cs 1.66 KB
515fceeb   “wangming”   框架初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  using System;
  using System.Collections.Generic;
  using System.Diagnostics;
  using System.Text;
  
  namespace Yi.Framework.Core.Helper
  {
      public class ShellHelper
      {
          /// <summary>
          /// linux 系统命令
          /// </summary>
          /// <param name="command"></param>
          /// <returns></returns>
          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;
          }
  
          /// <summary>
          /// windows系统命令
          /// </summary>
          /// <param name="fileName"></param>
          /// <param name="args"></param>
          /// <returns></returns>
          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;
          }
      }
  }