Dans ce guide, nous explorerons comment nous pouvons utiliser le package Exec pour exécuter des commandes externes.
Importation du package Exec
Pour utiliser le package Exec, nous devons l'importer. Nous pouvons le faire en utilisant une commande d'importation simple comme:
Importer "OS / EXEC"Une fois importé, vous pouvez exécuter des commandes, comme nous le verrons dans cet article.
Golang exécuter les commandes
Commençons par un appel de commande de base pour illustrer comment utiliser le package Exec. Un exemple de code est comme indiqué ci-dessous:
package principalDans l'exemple ci-dessus, nous utilisons la commande exec pour obtenir la liste des fichiers et répertoires à l'aide de la commande dir.
Nous commençons par définir la commande pour exécuter en utilisant la méthode de commande. La syntaxe est comme indiqué:
Commande func (nom de nom, arg… chaîne) * cmdLa fonction prend les commandes pour s'exécuter comme un argument de chaîne. Il renvoie ensuite une structure de commande pour exécuter la commande avec les arguments fournis.
L'étape suivante consiste à exécuter la commande à l'aide de la méthode combinée. La syntaxe de la méthode est comme indiqué:
func (c * cmd) combinéeLa méthode exécute la commande et renvoie le stdout combiné et le stderr. Cela renvoie une tranche d'octets, que nous convertissons en une chaîne en utilisant la méthode de chaîne.
Une fois que vous avez exécuté le code ci-dessus, il doit renvoyer les fichiers et répertoires dans le répertoire de travail actuel.
Définir le répertoire de travail actuel
Nous pouvons définir le répertoire de travail actuel sur lequel exécuter la commande à l'aide du CMD.Variable DIR. Un exemple est comme indiqué:
package principalCapture Stdout & Stderr séparément.
Au lieu de combiner STDOUT et STDERR, vous pouvez les capturer séparément comme indiqué dans le code ci-dessous:
cmd: = exec.Commande ("dir")Spécifier le système d'exploitation
Vous pouvez également définir des commandes personnalisées pour un système d'exploitation différent en utilisant l'exécution.Méthode de Goos. Par exemple:
ifruntime.Goos == "Windows"Commandes de tuyaux
Vous pouvez également tuer la sortie d'une commande précédente comme indiqué dans l'exemple ci-dessus:
package principalLa commande ci-dessus doit renvoyer le nombre de caractères de la commande echo.
Fermeture
Ce court guide illustre comment démarrer avec le package Exec à Golang.