Сохранение результатов git в переменной приводит к странному поведению

Сохранение результатов git в переменной приводит к странному поведению

У меня есть git-репозиторий с двумя ветками:

$ git branch
* master
  test/branch

Я могу перечислить конкретные ветви по отдельности, выполнив следующие действия:

$ git branch --list master
* master

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

Однако когда я сохраняю эту команду как переменную, я получаю неожиданные результаты:

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

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

Результаты не всегда последовательны. Иногда я получаю неожиданные результаты от веток с прямыми слешами, иногда без них, в зависимости от репозитория, с которым я работаю. Я не могу точно указать, что происходит или почему.

Почему при перечислении одной ветки выводится список файлов в каталоге и сама ветка, а при другом выводится только ветка?

решение1

Выше, похоже, что Bash расширяет , *который появляется в начале $LOCAL. Попробуйте echo "$LOCAL".

Связанный контент