Exécuter des scripts Bash depuis Go
Le défi
Pour exécuter un script bash depuis Go , vous avez essayé d'utiliser le package os/exec mais avez rencontré des difficultés lors de la saisie du chemin du script ou de son contenu comme arguments. Ce script définit des variables et effectue des tâches spécifiques.
La solution
Pour exécuter avec succès un script bash depuis Go, considérez les étapes suivantes :
Prérequis
Utilisation du package os/exec
Si vous préférez utiliser os/exec, modifiez votre code comme suit :
cmd := exec.Command("/bin/sh", mongoToCsvSH) out, err := cmd.Output()
Ici, "/bin/sh" indique l'interpréteur pour exécuter le script, suivi du chemin d'accès à votre script bash, mongoToCsvSH.
Approche alternative
Au lieu d'utiliser os/exec, vous pouvez exploiter le code suivant pour exécuter le script :
import ( "io/ioutil" "os" ) func main() { content, err := ioutil.ReadFile("mongoToCsvSH.sh") if err != nil { log.Fatal(err) } err = os.WriteFile("run.sh", content, 0755) if err != nil { log.Fatal(err) } cmd := exec.Command("./run.sh") cmd.Run() }
Cette approche lit le contenu du script bash, l'écrit dans un fichier temporaire "run.sh" avec l'autorisation exécutable (chmod 0755), puis l'exécute.
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!