📅  最后修改于: 2023-12-03 14:55:42.699000             🧑  作者: Mango
在 C# 中执行 Shell 命令是一个很常见的需求,但是我们如何判断 Shell 命令是否成功返回了呢?本文将介绍如何在 C# 中检查 Shell 命令的返回状态。
在 C# 中可以使用 Process
类执行 Shell 命令。我们可以使用 Process.Start
方法启动一个新的进程来执行 Shell 命令。以下是一个示例:
using System.Diagnostics;
class Program
{
static void Main(string[] args)
{
Process process = new Process();
process.StartInfo.FileName = "/bin/bash";
process.StartInfo.Arguments = "-c \"echo hello world\"";
process.StartInfo.UseShellExecute = false;
process.Start();
process.WaitForExit();
if (process.ExitCode == 0) {
Console.WriteLine("Shell 命令执行成功");
} else {
Console.WriteLine("Shell 命令执行失败,错误码:" + process.ExitCode);
}
}
}
在上面的示例中,我们使用 Process.StartInfo.FileName
属性指定了要执行的 Shell 的路径。这里使用的是 /bin/bash
,如果你的 Shell 路径不同,需要相应修改。
Process.StartInfo.Arguments
属性指定了要执行的命令和参数。-c
参数告诉 Shell 命令解释器需要执行的命令是后面的字符串,这里是 echo "hello world"
。
Process.StartInfo.UseShellExecute
属性设置为 false
,表示不使用操作系统外壳程序执行进程。在 Linux 上,需要设置为 false
才能正确执行 Shell 命令。
process.WaitForExit()
方法可以等待进程执行完毕。在本示例中,我们需要等待进程执行完毕才能检查返回状态。
最后,我们根据 process.ExitCode
属性判断 Shell 命令是否执行成功。如果返回值为 0
,则表示成功。否则表示发生了错误,错误码就是 ExitCode
属性的值。
本文介绍了在 C# 中如何检查 Shell 命令的返回状态。我们可以使用 Process
类启动一个新的进程来执行 Shell 命令,并根据进程的返回值判断命令是否成功执行。