Se você quiser redirecionar todas as saídas & stderr para / dev / null você tem que substituir
git ls-remote -q <URL to repository> $> /dev/null
por
git ls-remote -q <URL to repository> &> /dev/null
( & em vez de $ )
Estou escrevendo em um script bash de migração para migrar repositórios usando o gitLFS do Github para o Gitlab.
Uma etapa é verificar se os repositórios de origem e destino existem.
Na minha pesquisa, descobri que git ls-remote
é perfeito para isso.
Para o meu script, gostaria de silenciar a saída do comando (o script em si irá verificar isso mais tarde), então estou usando $> /dev/null
like
git ls-remote -q <URL to repository> $> /dev/null
-q
,--quiet
: Do not print remote URL to stderr.
No sucesso, não recebo saída e git ls-remote
sai com 0
.
Em caso de falha (pode ser causado pelo fornecimento de credenciais incorretas ou o repositório não foi encontrado), ele sai em 128
, mas sempre vejo essa saída
remote: Invalid username or password.
fatal: Authentication failed for '<URL to repository>'
ou
remote: Repository not found.
fatal: repository '<URL to repository>' not found
Como posso silenciar completamente o git ls-remote
?
Se você quiser redirecionar todas as saídas & stderr para / dev / null você tem que substituir
git ls-remote -q <URL to repository> $> /dev/null
por
git ls-remote -q <URL to repository> &> /dev/null
( & em vez de $ )