检查Golang中的二进制存在

时间:2017-10-18 20:39:01

标签: bash go

我试图通过Go检查机器上是否存在shell二进制文件。

我尝试过一些更简单的基于shell的命令:

    args := []string{"-x", "fly"}
    o, err := exec.Command("test", args...).Output()
    fmt.Println(err)
    fmt.Println(o)

但无论如何都会退出1并且不输出任何内容。

我想知道Go本身是否有某些东西会有这个功能,显然我宁愿做自己的重任。

谢谢!

1 个答案:

答案 0 :(得分:2)

这是一种简单检查文件是否存在的方法。

if _, err := os.Stat("/dir/file"); os.IsNotExist(err) {
    fmt.Printf("File doesn't exist")
} else {
    fmt.Printf("Exists")
}

了解详情:os.Stat()os.IsNotExist()