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

相關內容