Функция bash, игнорирующая точку для команды git clone

Я борюсь с функцией 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 ответ

Решение

Вы можете избежать точки, чтобы сказать Bash, что не следует рассматривать его как часть регулярного выражения:

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

Как говорится в этом посте, Bash будет рассматривать одну точку как значение "любой символ".

Другие вопросы по тегам