gpt4 book ai didi

exec - google golang exec 退出状态 2 和 1

转载 作者:IT王子 更新时间:2023-10-29 00:43:04 25 4
gpt4 key购买 nike

我想在 Go 语言的 Android SDK 平台工具中执行 dexdump。

我已经设置了 PATH 变量。 (我使用的是 Ubuntu 12.04)

这是我的代码:

package main

import (
"bytes"
"fmt"
"log"
"os/exec"
)

func main() {
path, err := exec.LookPath("dexdump")
if err != nil {
log.Fatal(err)
}
fmt.Println(path)

cmd := exec.Command(path)
var out bytes.Buffer
cmd.Stdout = &out
err2 := cmd.Run()
if err2 != nil {
log.Fatal(err2)
}
fmt.Printf("%q\n", out.String())
}

结果:/home/gunwoo/android-sdk-linux/platform-tools/dexdump

2012/10/15 16:44:39 退出状态2

退出状态 1

为什么go找不到路径?

最佳答案

您没有为 exec.Run dexdump 命令提供任何参数,这可能会产生如下错误:

dexdump: no file specified
dexdump: [-f] [-h] dexfile...

-d : disassemble code sections
-f : display summary information from file header
-h : display file header details
-C : decode (demangle) low-level symbol names
-S : compute sizes only

当您运行以下版本的程序时,您会得到什么输出?

package main

import (
"bytes"
"fmt"
"log"
"os/exec"
)

func main() {
path, err := exec.LookPath("dexdump")
if err != nil {
log.Fatal("LookPath: ", err)
}
fmt.Println(path)
cmd := exec.Command(path)
var out bytes.Buffer
cmd.Stdout = &out
err = cmd.Run()
fmt.Printf("%s\n", out.String())
if err != nil {
log.Fatal("Run: ", err)
}
}

关于exec - google golang exec 退出状态 2 和 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12891294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com