Bash

將 git 儲存在變數中會導致奇怪的行為

  • September 23, 2016

我有一個帶有 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

結果並不總是一致的。有時我會從帶有正斜杠的分支中得到意想不到的結果,有時沒有,這取決於我正在使用的儲存庫。我無法確定到底發生了什麼或為什麼。

為什麼列出一個分支列出目錄中的文件和分支本身,而另一個只列出分支?

*上面,看起來 Bash 正在擴展$LOCAL. 試試echo "$LOCAL"

引用自:https://unix.stackexchange.com/questions/311879