【发布时间】:2019-06-18 06:56:48
【问题描述】:
我使用以下代码以编程方式构建二进制文件
二进制文件构建成功,但现在我想通过代码将其复制到go/bin 路径,并且我能够做到,但是它复制了文件但不是可执行文件。
可能有什么问题? 源文件是可执行的
bPath := filepath.FromSlash("./integration/testdata/" + fileName)
cmd := exec.Command("go", "build", "-o", bPath, ".")
cmd.Dir = filepath.FromSlash("../")
err := cmd.Run()
if err != nil {
fmt.Println("binary creation failed: ", err)
}
fmt.Println(os.Getenv("GOPATH"))
dir, _ := os.Getwd()
srcPath := filepath.Join(dir, "testdata", , fileName)
targetPath := filepath.Join(os.Getenv("GOPATH"),"/bin/",fileName)
copy(srcPath, targetPath)
副本是:
func copy(src string, dst string) error {
// Read all content of src to data
data, err := ioutil.ReadFile(src)
if err != nil {
return err
}
// Write data to dst
err = ioutil.WriteFile(dst, data, 0644)
if err != nil {
return err
}
return nil
}
【问题讨论】:
-
这是在 Linux 上吗?
-
将此任务使用
io.Copy -
@jcfollower - 在 linux 和 mac 中是的
标签: file unix go file-permissions