Вы, вероятно, должны использовать:
git ls-remote ssh://git@git_repo:port
без суффикса, поскольку по умолчанию перечисляется все.
Вы можете использовать:
git ls-remote ssh://git@git_repo:port '*'
(или то же самое с двойными кавычками - один или оба из них могут работать и в Windows).В командной оболочке в стиле Unix / Linux оболочка заменит *
списком всех файлов в текущем каталоге перед выполнением команды, если только вы не защитите звездочку от оболочки.
Вы также можете использовать одну обратную реакцию:
git ls-remote ssh://git@git_repo:port \*
, поскольку существует множество способов защитить отдельных персонажей от оболочек.Правила немного усложняются, но, как правило, одинарные кавычки являются «наиболее мощными», тогда как двойные кавычки glob символов 1 , но не другие расширения. 2 Обратная косая черта заключает в кавычки следующий следующий символ, если вы еще не заключили в кавычки (поведение обратной косой черты в двойных кавычках изменяется в некоторых оболочках).
1 Глобальные символы *
, [
и ?
.После [
символы внутри глобуса переходят в закрывающий ]
.Поэтому echo foo[abc]
ищет файлы с именами fooa
, foob
и fooc
.Обратите внимание, что .
обычно , а не особый: foo.*
соответствует только файлам, имена которых начинаются с foo.
, т. Е. Включая точку: файл с именем foo
не начинается с foo.
,только с foo
и не сопоставляется.
Глобусы очень отличаются от регулярных выражений: в регулярных выражениях .
соответствует любому символу (как ?
в глобусе), а звездочка означает «повторить предыдущийсовпадать ноль или более раз ", так что glob *
и регулярное выражение .*
похожи.(В совпадениях с регулярным выражением нам также нужно учитывать, является ли выражение привязанным . Глобусы всегда привязываются, чтобы не возникало вопроса.)
2 Большинстворасширения происходят со знаком доллара $
, как в $var
или ${var}
или $(subcommand)
, но обратные кавычки также вызывают подстановку команд, как в echo `echo bar`
.