Maison > développement back-end > Golang > Comment puis-je exécuter un script Bash depuis Go à l'aide de commandes personnalisées ?

Comment puis-je exécuter un script Bash depuis Go à l'aide de commandes personnalisées ?

Barbara Streisand
Libérer: 2024-12-14 13:55:11
original
275 Les gens l'ont consulté

How Can I Execute a Bash Script from Go Using Custom Commands?

Exécuter un script Bash depuis Go : utilisation de commandes personnalisées

Dans Golang, l'exécution de commandes externes est simplifiée avec le package os/exec. Cependant, exécuter directement un script bash à l’aide de cette méthode peut présenter des défis. Cet article explore une approche alternative pour exécuter l'intégralité d'un script bash.

Atteindre la compatibilité avec Go

Pour que le script soit exécutable depuis Go, il doit respecter certaines exigences :

  • Initialisation : Elle doit commencer par #!/bin/sh ou une directive similaire pour spécifier le interprète.
  • Autorisations : Le fichier de script doit être rendu exécutable avec chmod x.

Exécution avec une commande personnalisée

Si le script le fait ne répond pas à ces exigences, une approche alternative consiste à l'exécuter indirectement à l'aide d'une commande personnalisée.

Option 1 : Exécution indirecte

Utilisez exec.Command pour invoquer le shell /bin/sh et transmettre le chemin du script comme argument.

cmd := exec.Command("/bin/sh", mongoToCsvSH)
Copier après la connexion

Option 2 : Une -Commande Liner

Concaténer le chemin du script avec la commande /bin/sh en un seul string.

cmd := exec.Command("/bin/sh " + mongoToCsvSH)
Copier après la connexion

En employant ces méthodes, vous pouvez exécuter avec succès des scripts bash depuis Golang. N'oubliez pas d'adapter les extraits de code en fonction des exigences spécifiques de votre script.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal