如何在.net 5中链接Linux命令



是否有任何方法可以使用。net 5进程类来使用链linux命令,就像我在终端中一样?

$ cat /proc/meminfo | grep MemTotal

上面的命令会返回系统的内存,我可以用"/proc/meminfo"作为一个论点,但我怎么能一次做完呢?

编辑:试图将文件名设置为"/bin/bash"并传递"cat/proc/meminfo | grep MemTotal"作为参数,但它仍然不工作,抛出错误/usr/bin/cat: /usr/bin/cat: cannot execute binary file

编辑2:找到了一个解决方案,这是工作的代码

Process process = new Process();
process.StartInfo.FileName = "/bin/sh";
string cmd = "cat /proc/meminfo | grep MemTotal";
process.StartInfo.Arguments = $"-c "{cmd}"";
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.WaitForExit();
Console.WriteLine(process.StandardOutput.ReadToEnd());

找到答案了

Process process = new Process();
process.StartInfo.FileName = "/bin/sh";
string cmd = "cat /proc/meminfo | grep MemTotal";
process.StartInfo.Arguments = $"-c "{cmd}"";
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.WaitForExit();
Console.WriteLine(process.StandardOutput.ReadToEnd());

最新更新