Я пытаюсь получить все ветки из репозитория git и сохранить их в PSObject. Мой код работает в zsh и bash, но не в PowerShell Core. Просматривая документацию по PowerShell ( Правила цитирования и Специальные символы ), я не вижу ничего, что мне нужно было бы скрыть. Поскольку строка работает в zsh и bash, я не думаю, что проблема в jq.
Часть команды, которая не работает:
jq --raw-input --slurp 'split("\n") | map(split("\t")) | .[0:-1]'
Ошибка:
jq: error: syntax error, unexpected INVALID_CHARACTER (Unix shell quoting issues?) at <top-level>, line 1:
split(\n) | map(split(\t)) | .[0:-1]
jq: 1 compile error
Я использую всю команду (в bash замените `новые строки на \):
git for-each-ref --sort='-authordate:iso8601' `
refs/heads `
--format='%(refname:short)%09%(creatordate:rfc)%09%(creator)%09%(committerdate:rfc)%09%(committeremail)' `
| jq --raw-input --slurp 'split("\n")
| map(split("\t"))
| .[0:-1]
| map( {
"branchName": .[0],
"AuthorDate": .[1],
"Author": .[2],
"CommitDate": .[3],
"Committer": .[4]
})'
My Версия PowerShell Core: 6.2.1 Я работаю с Ma c с iTerm2. Я вызываю PowerShell через pwsh
.