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

如何将参数正确传递给系统调用(git)?

如何将参数正确传递给系统调用(git)?

Go
炎炎设计 2021-10-25 19:57:30
我正在尝试通过调用 git 来克隆一个 git 存储库syscall。(我知道有git2go但这不是我想要的。我绝对想做一个syscall)git, lookErr := exec.LookPath("git")if lookErr != nil {    fmt.Fprintf(os.Stderr, "%s\n", lookErr)    os.Exit(126)}args := []string{"clone", "http://github.com/some/repo.git"}var env = os.Environ()execErr := syscall.Exec(git, args, env)if execErr != nil {  panic(execErr)}所以我想要执行的是git clone http://github.com/some/repo.git手动执行这个工作就好了。但是当我像上面的代码片段一样在 go 中运行它时,git 失败了:git: ' http://github.com/some/repo.git ' 不是 git 命令。参见'git --help'。为什么 git 会将第二个参数解释为另一个命令?它应该是远程<repo>URL,git clone [options] [--] <repo> [<dir>].如何正确传递参数以便 git 具有预期的行为?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

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