在 Go 中以字符串形式检索命令输出
在 Go 中,可以使用各种方法来访问系统命令的输出。最初,似乎有必要操作与命令关联的特定文件,例如其标准输出和错误流。但是,有一种更方便的方法可以将命令的输出捕获为字符串。
为了简化该过程,让我们考虑一个示例:在 Go 程序中获取 'ls' 命令的输出并将其存储在一个字符串变量。以下代码片段演示了如何完成此操作:
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) }
在上面的示例中,使用 exec.Command("date").Output() 来执行 'date' 命令并检索其输出。结果作为字节切片存储在 out 变量中。要将其转换为字符串,只需应用 string() 函数:
string(out)
此外,exec.Command 提供了 CombinedOutput() 方法,可以使用该方法代替 Output()。 CombinedOutput() 返回标准输出和标准错误,使您能够收集有关命令执行的更多信息。
以上是如何在 Go 中以字符串形式检索和存储系统命令输出?的详细内容。更多信息请关注PHP中文网其他相关文章!