在 Go 中以字符串形式检索系统命令输出
在 Go 程序中执行系统命令时,通常需要将输出保存为用于进一步处理或显示的字符串。这可以使用 exec.Command() 函数来实现。
在旧版本的 Go 中,此过程涉及管理标准输出和错误的文件参数。然而,现代 Go 提供了一种更简单的方法。
Output() 解决方案:
要将系统命令的输出捕获为字节数组,请使用 Output( ) exec.Command() 方法。下面是一个示例:
package main import ( "fmt" "log" "os/exec" ) func main() { out, err := exec.Command("date").Output() if err != nil { log.Fatal(err) } fmt.Printf("The date is %s\n", out) }
out 变量包含 date 命令的标准输出作为字节数组。您可以使用 string(out) 轻松地将其转换为字符串。
替代方案:CombinedOutput()
CombinedOutput() 方法返回标准输出和标准错误,如下所示一个字节数组,提供了一种捕获两种类型输出的便捷方法。
总之,使用 exec.Command() 和Output() 或 CombinedOutput() 方法允许您在 Go 中以字符串或字节数组的形式检索系统命令的输出,从而简化与外部命令交互的过程。
以上是如何在 Go 中以字符串形式检索系统命令输出?的详细内容。更多信息请关注PHP中文网其他相关文章!