Go 语言解析 Shell 命令:使用 os/exec 包执行命令并获取输出
在 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 命令,并执行该命令,获取其输出结果。
原文地址: https://www.cveoy.top/t/topic/jry 著作权归作者所有。请勿转载和采集!