为了账号安全,请及时绑定邮箱和手机立即绑定

在 golang 中退出 status 1

在 golang 中退出 status 1

Go
MMTTMM 2022-10-10 16:51:59
得到了这个简单的函数,该函数在退出状态 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)

}


查看完整回答
反对 回复 2022-10-10
  • 1 回答
  • 0 关注
  • 79 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信