1

我正在与一个不会克隆到当前目录的 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 尊重这个点?谢谢

4

1 回答 1

1

您可以转义点以告诉 Bash不要将其视为正则表达式的一部分:

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

正如这篇 SO 帖子所讨论的,Bash 将单个点视为“任何字符”的意思。

于 2015-11-30T05:28:08.323 回答