gitの結果を変数に保存すると、奇妙な動作が発生します。

gitの結果を変数に保存すると、奇妙な動作が発生します。

2つの枝がある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"

関連情報