bash函数忽略git clone命令的点

时间:2015-11-30 05:19:07

标签: git bash scripting bash-function

我正在与一个不会克隆到当前目录的bash函数进行搏斗,它正在创建一个项目文件夹:

cloneproject() { git clone git@bitbucket.org:codyc54321/$1.git . ;}

我在分号前面有一个点,但是在名为'bookwormbuddy'的目录中运行它会使它添加一个新的项目文件夹,就像你运行没有点的克隆一样:

me@pc:~/projects/bookwormbuddy$ cloneproject bookwormbuddy
Cloning into 'bookwormbuddy'...

然而,当我从终端运行相同的命令时,它就像我习惯的那样工作:

me@pc:~/projects/bookwormbuddy$ git clone git@bitbucket.org:codyc54321/new_bookmarks.git .
Cloning into '.'...

我需要这个,因为我将存储中的项目命名为不同的原因。如何让ubuntu尊重这个点呢? 谢谢

1 个答案:

答案 0 :(得分:1)

你可以通过点来告诉Bash 而不是将它视为正则表达式的一部分:

cloneproject() { git clone git@bitbucket.org:codyc54321/$1.git \. ;}

正如this SO post所讨论的那样,Bash会将单个点视为含义"任何字符。"