Maison >développement back-end >Golang >Comment capturer la sortie de la commande système sous forme de chaîne dans Go ?

Comment capturer la sortie de la commande système sous forme de chaîne dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-19 01:28:11391parcourir

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

Capturer la sortie des commandes système dans Go

Lorsque vous travaillez avec des commandes système externes dans Go, vous devrez peut-être capturer leur sortie et la stocker dans votre programme. Bien que les packages exec et os proposent diverses commandes pour l'exécution des processus, ils nécessitent généralement des arguments de fichier pour gérer les entrées/sorties standard. Cet article présente une approche simplifiée pour capturer le résultat d'une commande sous forme de chaîne.

Approche simplifiée

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)
}

Dans cet exemple, exec.Command("date").Output() est utilisé pour exécutez la commande date et capturez sa sortie dans la variable out. La méthode Output() renvoie la sortie standard de la commande sous la forme d'une []byte slice, qui peut être facilement convertie en chaîne à l'aide de string(out).

Autres considérations

Vous pouvez également utiliser CombinedOutput() au lieu de Output(), qui renvoie à la fois la sortie standard et l'erreur standard. De plus, la fonction exec.Command vous permet de définir d'autres paramètres tels que le répertoire de travail de la commande, les variables d'environnement et l'entrée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn