En esta guía, exploraremos cómo podemos usar el paquete EXEC para ejecutar comandos externos.
Importando el paquete EXEC
Para usar el paquete ejecutivo, necesitamos importarlo. Podemos hacer esto usando un comando de importación simple como:
Importar "OS/Exec"Una vez importado, puede ejecutar comandos, como veremos en este artículo.
Comandos de ejecución de Golang
Comencemos con una llamada de comando básica para ilustrar cómo usar el paquete EXEC. Un código de ejemplo es como se muestra a continuación:
paquete principalEn el ejemplo anterior, usamos el comando EXEC para obtener la lista de archivos y directorios utilizando el comando Dir.
Comenzamos definiendo el comando para ejecutar usando el método de comando. La sintaxis es como se muestra:
comando func (name string, arg ... cadena) *cmdLa función toma los comandos para ejecutar como argumento de cadena. Luego devuelve una estructura de comando para ejecutar el comando con los argumentos proporcionados.
El siguiente paso es ejecutar el comando usando el método combinado. La sintaxis del método es como se muestra:
func (c *cmd) combinedOutput () ([] byte, error)El método ejecuta el comando y devuelve el STDOUT combinado y stderr. Esto devuelve una porción de byte, que convertimos en una cadena utilizando el método de cadena.
Una vez que ejecute el código anterior, debe devolver los archivos y directorios en el directorio de trabajo actual.
Establezca el directorio de trabajo actual
Podemos definir el directorio de trabajo actual en el que ejecutar el comando utilizando el CMD.Variable Dir. Un ejemplo es como se muestra:
paquete principalCapturar Stdout y Stderr por separado.
En lugar de combinar Stdout y Stderr, puede capturarlos por separado como se muestra en el código a continuación:
cmd: = ejecutor.Comando ("Dir")Especificar OS
También puede definir comandos personalizados para un sistema operativo diferente utilizando el tiempo de ejecución.Método Goos. Por ejemplo:
ifruntime.Goos == "Windows"Comandos de tubería
También puede abordar la salida de un comando anterior como se muestra en el ejemplo anterior:
paquete principalEl comando anterior debe devolver el número de caracteres del comando echo.
Clausura
Esta breve guía ilustra cómo comenzar con el paquete EXEC en Golang.