Appeler bash avec Golang

Attendre la fin de l'exécution sans recevoir le résultat de la commande


package main

import (
    "fmt"
    "os/exec"
)

func main() {
    err := exec.Command("pwd").Run()
    if err != nil {
        fmt.Println("Command Exec Error.")
    }
}

Recevoir les résultats de la commande


package main

import (
	"fmt"
	"os/exec"
)

func main() {
	out, err := exec.Command("pwd").Output()
	if err != nil {
		fmt.Println("Command Exec Error.")
	}

	//Sortie du résultat de la commande exécutée
	fmt.Printf("pwd result: %s", string(out))
}

Recevoir une erreur de sortie standard

- CombinedOutput

package main

import (
	"fmt"
	"os/exec"
)

func main() {
	out, err := exec.Command("ls", "dummy").CombinedOutput()
	if err != nil {
		fmt.Println("Command Exec Error.")
	}

	//Contenu de la sortie standard + sortie d'erreur standard de la commande exécutée
	fmt.Printf("ls result: \n%s", string(out))
}

N'attendez pas la fin de l'exécution de la commande


package main

import (
	"fmt"
	"os/exec"
)

func main() {
	cmd := exec.Command("sleep", "10")

	fmt.Println("Command Start.")

	err := cmd.Start()
	if err != nil {
		fmt.Println("Command Exec Error.")
	}

	//Attendez lorsque vous n'êtes pas commenté
	//cmd.Wait()

	fmt.Println("Command Exit.")
}

référence

https://blog.y-yuki.net/entry/2017/04/28/000000

Recommended Posts

Appeler bash avec Golang
Appelez l'API avec python3.
Utiliser MLflow avec Databricks ④ --Call model -
Calcul sans erreur avec le big.Float de Golang
Appeler C depuis Python avec DragonFFI
Jugement de vacances, y compris les vacances avec bash
Graphique d'appel de sortie avec PyCallGraph
Réaliser un pool de connexion DB avec Golang
Générer une URL pré-signée avec golang
Appelez python de nim avec Nimpy
Réaliser un générateur PHP / Python avec Golang / Ruby
Convertir un tableau (struct) en json avec golang
[Golang] Créer une image de menu fixe avec des actions Github
Appelez APIGateWay avec APIKey dans les requêtes python