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 には、Output() の代わりに使用できる CombinedOutput() メソッドが用意されています。 CombinedOutput() は標準出力と標準エラーの両方を返し、コマンドの実行に関する詳細情報を収集できます。
以上がGo でシステム コマンド出力を文字列として取得して保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。