Git clone from bash script

后端 未结 1 1436
鱼传尺愫
鱼传尺愫 2021-02-05 17:37

I am trying to automate my interactions with Git building a script and I am having the following problem.

This works from the command line:

git clone git         


        
1条回答
  •  梦谈多话
    2021-02-05 18:16

    You mean git clone "$repository" "$localFolder", I'd hope?

    Running git clone $repository" "$localFolder is something quite different:

    • Because neither variable is within double quotes, their contents are string-split and glob-expanded; thus, if they contained whitespace (generally, characters within $IFS), they could become multiple arguments, and if they contained globs (*, [...], etc), those arguments could be replaced with filenames (or simply removed from the generated argument list, if the nullglob shell option is enabled)
    • Because the space between the two arguments is quoted, they are combined into a single argument before being passed to git.

    So, for the values you gave, what this script runs would be:

    git clone "git@github.xxxx.com:blablabla/reponame.git /Users/myname/dev/myfolder"
    

    ...which is quite different from

    git clone git@github.xxxx.com:blablabla/reponame.git /Users/myname/dev/myfolder
    

    ...as it is giving the /Users/myname/dev/myfolder path as part of the URL.

    0 讨论(0)
提交回复
热议问题