Bash mit Golang anrufen

Warten Sie, bis die Ausführung abgeschlossen ist, ohne das Befehlsergebnis zu erhalten


package main

import (
    "fmt"
    "os/exec"
)

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

Befehlsergebnisse empfangen


package main

import (
	"fmt"
	"os/exec"
)

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

	//Geben Sie das Ergebnis des ausgeführten Befehls aus
	fmt.Printf("pwd result: %s", string(out))
}

Standardausgabefehler empfangen

- CombinedOutput

package main

import (
	"fmt"
	"os/exec"
)

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

	//Inhalt der Standardausgabe + Standardfehlerausgabe des ausgeführten Befehls
	fmt.Printf("ls result: \n%s", string(out))
}

Warten Sie nicht, bis die Befehlsausführung abgeschlossen ist


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

	//Warten Sie, wenn Sie nicht kommentiert sind
	//cmd.Wait()

	fmt.Println("Command Exit.")
}

Referenz

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

Recommended Posts

Bash mit Golang anrufen
Rufen Sie die API mit python3 auf.
Verwenden Sie MLflow mit Databricks ④ - Anrufmodell -
Fehlerfreie Berechnung mit Golangs big.Float
Rufen Sie C von Python mit DragonFFI auf
Beurteilung von Feiertagen einschließlich Feiertagen mit Bash
Anrufdiagramm mit PyCallGraph ausgeben
Realisieren Sie den DB-Verbindungspool mit Golang
Generieren Sie eine vorsignierte URL mit golang
Rufen Sie Python von Nim mit Nimpy auf
Verwirklichen Sie den PHP / Python-Generator mit Golang / Ruby
Konvertieren Sie ein Array (struct) mit golang in json
[Golang] Erstellen Sie ein Docker-Image mit Github-Aktionen
Rufen Sie APIGateWay mit APIKey in Python-Anforderungen auf