ホームページ > バックエンド開発 > Golang > Go でシステム コマンド出力を文字列としてキャプチャするにはどうすればよいですか?

Go でシステム コマンド出力を文字列としてキャプチャするにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-19 01:28:11
オリジナル
397 人が閲覧しました

How to Capture System Command Output as a String in Go?

Go でのシステム コマンドからの出力のキャプチャ

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート