将 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"

相关内容