Armazenar resultados git em uma variável resulta em comportamento estranho

Armazenar resultados git em uma variável resulta em comportamento estranho

Eu tenho um repositório git com 2 ramificações:

$ git branch
* master
  test/branch

Posso listar filiais específicas individualmente fazendo o seguinte:

$ git branch --list master
* master

$ git branch --list test/branch
  test/branch

No entanto, quando armazeno este comando como uma variável, obtenho resultados inesperados:

$ LOCAL=$(git branch --list master); echo $LOCAL
index.php readme.md master

$ LOCAL=$(git branch --list test/branch); echo $LOCAL
test/branch

Os resultados nem sempre são consistentes. Às vezes obtenho resultados inesperados de ramificações com barras, às vezes sem, dependendo do repositório com o qual estou trabalhando. Não consigo identificar exatamente o que está acontecendo ou por quê.

Por que listar uma ramificação lista os arquivos no diretório e na própria ramificação, e a outra apenas lista a ramificação?

Responder1

Acima, parece que o Bash está expandindo o *que aparece no início do $LOCAL. Tentar echo "$LOCAL".

informação relacionada