Maison > développement back-end > Golang > le corps du texte

Comment transmettre des variables d'environnement à « exec.Command » dans Go ?

Patricia Arquette
Libérer: 2024-11-18 07:15:02
original
666 Les gens l'ont consulté

How to Pass Environment Variables to `exec.Command` in Go?

Passer des variables d'environnement à exec.Command

Lors de la création d'un script wrapper pour un outil de ligne de commande à l'aide de exec.Command, vous pouvez rencontrer des situations où vous devez transmettre une variable d'environnement dans le cadre de l'exécution de la commande. Dans ce contexte, vous travaillez avec ansible-playbook et nécessitez l'utilisation d'un paramètre MY_VAR.

La fonction exec.Command accepte un tableau de chaînes comme premier paramètre, où le premier élément représente la commande à exécuter. Pour transmettre une variable d'environnement, nous pouvons modifier la tranche de variables d'environnement dans la structure Cmd.

Dans votre cas, vous rencontrez des problèmes pour remplacer toutes les variables d'environnement lorsque vous utilisez le champ Env de la structure Cmd. Pour résoudre ce problème, vous pouvez ajouter la variable d'environnement souhaitée à la liste os.Environ() existante :

cmd := exec.Command("ansible-playbook", args...)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "MY_VAR=some_value")
Copier après la connexion

Cette approche préservera les variables d'environnement existantes tout en définissant la variable d'environnement spécifique MY_VAR à la valeur souhaitée. En combinant la fonction native os.Environ() avec la possibilité d'ajouter des variables d'environnement supplémentaires, vous pouvez transmettre efficacement des variables d'environnement à l'exécution de votre commande à l'aide de exec.Command.

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