ホームページ >バックエンド開発 >Golang >Goでシステムコマンド出力を取得するにはどうすればよいですか?

Goでシステムコマンド出力を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-25 04:30:16627ブラウズ

How to Retrieve System Command Output in Go?

Go でのシステム コマンド出力の取得

Go では、システム コマンドの実行とその出力のキャプチャは、さまざまなパッケージとアプローチで実現できます。この記事では、exec パッケージを使用した簡単な方法について詳しく説明します。

exec パッケージは、プロセスをフォークしてその出力を取得する便利な方法を提供します。サンプル コード スニペットを次に示します。

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") は、date コマンドを実行するコマンド オブジェクトを作成します。
  • Output() メソッドはコマンドを実行し、その標準出力をバイト スライス ([]byte) として out にキャプチャします。
  • string(out) を使用して、読みやすくするために out スライスを文字列に変換できます。

exec.Command には、標準を組み合わせた別のメソッド CombinedOutput() も用意されています。出力と標準エラーを 1 バイトのスライスにまとめて、両方を一度に処理できるようにします。

Output() またはCombinedOutput() メソッドを使用すると、Go プログラム内の任意のシステム コマンドの出力を簡単にキャプチャできます。

以上がGoでシステムコマンド出力を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。