在 Go 语言中,可以使用 os/exec 包来解析和执行 Shell 命令,并获取命令的输出结果。以下是一个简单的示例代码:

package main

import (
	"fmt"
	"os/exec"
	"strings"
)

func main() {
	command := 'ls -l -a'
	parts := strings.Fields(command)

	cmd := exec.Command(parts[0], parts[1:]...)

	output, err := cmd.Output()
	if err != nil {
		fmt.Println('Error:', err)
		return
	}

	fmt.Println('Output:', string(output))
}

在上述示例中,我们使用 strings.Fields() 函数将输入的命令字符串拆分成一个命令和多个参数,并存储在 parts 切片中。然后,我们使用 exec.Command() 函数创建一个 *exec.Cmd 对象,其中命令部分是 parts[0],参数部分是 parts[1:]。最后,我们使用 cmd.Output() 方法来执行命令并获取输出结果。

注意,如果命令执行过程中发生错误,cmd.Output() 将返回一个非空的 error 对象。在示例中,我们通过检查 err 来处理可能的错误情况,并输出错误信息。

通过以上代码,你可以解析输入的 Shell 命令,并执行该命令,获取其输出结果。

Go 语言解析 Shell 命令:使用 os/exec 包执行命令并获取输出

原文地址: https://www.cveoy.top/t/topic/jry 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录