代码如下
package main
import (
"fmt"
"os/exec"
)
func executeCommand(command string) (string, error) {
cmd := exec.Command("/bin/sh", "-c", command)
output, err := cmd.Output()
if err != nil {
return "", err
}
return string(output), nil
}
func main() {
output, err := executeCommand("ls")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(output)
}
代码定义了一个名为 executeCommand
的函数,它接受一个字符串类型的参数 command
表示要执行的命令,返回一个字符串类型的标准输出结果和一个 error 类型的错误信息。
使用了 Go 语言中的 os/exec
包来执行命令和读取输出结果。我们通过创建一个 exec.Cmd
对象来启动 /bin/sh
进程,并设置其 Args
属性来传入需要执行的命令参数。在设置完毕 Args 后,我们调用 cmd.Output()
方法来执行进程并获取标准输出结果。如果执行命令时发生错误,则返回该错误。