Go で外部システム コマンドを使用する場合、出力をキャプチャしてプログラム内に保存する必要が生じる場合があります。 exec および os パッケージはプロセス実行用のさまざまなコマンドを提供しますが、通常は標準入出力を処理するためのファイル引数が必要です。この記事では、コマンド出力を文字列としてキャプチャするための簡略化されたアプローチについて説明します。
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 変数にキャプチャします。 Output() メソッドは、コマンドの標準出力を []byte スライスの形式で返します。これは、string(out) を使用して簡単に文字列に変換できます。
あるいは、Output() の代わりに CombinedOutput() を使用すると、標準出力と標準エラーの両方が返されます。さらに、exec.Command 関数を使用すると、コマンドの作業ディレクトリ、環境変数、入力などの他のパラメータを設定できます。
以上がGo でシステム コマンド出力を文字列としてキャプチャするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。