golang 使用os.exec执行git clone命令

终端使用git clone,如下

$ git clone https://github.com/windzhu0514/cmd c:/cmd
Cloning into 'c:/cmd'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 6 (delta 1), reused 6 (delta 1), pack-reused 0
Unpacking objects: 100% (6/6), done.

使用golang的os.exec执行git clone命令,如下

func TestExec(t *testing.T) {
    cmd := exec.Command("git", "clone", "https://github.com/windzhu0514/cmd", "c:/cmd")
    cmd.Stdout = os.Stdout
    cmd.Stderr = os.Stderr
    cmd.Run()
}

// output:
Cloning into 'c:/cmd'...

Cloning into 'c:/cmd'...下面的几行不会打印出来,是什么原因?

已邀请:

windzhu0514

赞同来自:

求大神指点

jjjjerk

赞同来自:

cmd.Start() 不要用run

binb

赞同来自:

你这命令就不对吧,exec.Command()最后一个参数"c:/cmd"这是啥意思?应该去掉这个参数,或者说替换为本地的一个目录 git clone 命令最后一个参数是目录,没有的话默认就是clone到当前目录

要回复问题请先登录注册