得到了这个简单的函数,该函数在退出状态 1 时抛出并出错,而没有任何进一步的提示说明为什么会发生这种情况func execute_this(cmd string ) string { out, err := exec.Command("cmd","/C", cmd).Output() if err != nil { log.Fatal(err) fmt.Println(out) } fmt.Println(string(out)) return string(out)}func main() { var cmd string var result string cmd = "pwd" result = execute_this(cmd) fmt.Println(result)}抛出错误信息2021/10/27 01:12:06 exit status 1exit status 1目标是编写一个在 shell 中执行系统命令并将输出作为字符串返回的函数
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
试试这个,它还可以让你看到发送到 stderr 的输出。详情在这里。
具体来说,就您而言,问题在于
'pwd' is not recognized as an internal or external command,
operable program or batch file.
package main
import (
"fmt"
"log"
"os/exec"
"os"
)
func execute_this(cmd string ) string {
c := exec.Command("cmd","/C", cmd)
c.Stderr = os.Stderr
out, err := c.Output()
if err != nil {
log.Fatal(err)
}
return string(out)
}
func main() {
cmd := "pwd"
result := execute_this(cmd)
fmt.Println(result)
}
- 1 回答
- 0 关注
- 79 浏览
添加回答
举报
0/150
提交
取消