Das Speichern von Git-Ergebnissen in einer Variablen führt zu seltsamem Verhalten

Das Speichern von Git-Ergebnissen in einer Variablen führt zu seltsamem Verhalten

Ich habe ein Git-Repository mit 2 Zweigen:

$ git branch
* master
  test/branch

Ich kann bestimmte Zweige einzeln auflisten, indem ich Folgendes mache:

$ git branch --list master
* master

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

Wenn ich diesen Befehl jedoch als Variable speichere, erhalte ich unerwartete Ergebnisse:

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

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

Die Ergebnisse sind nicht immer konsistent. Manchmal erhalte ich unerwartete Ergebnisse von Zweigen mit Schrägstrichen, manchmal ohne, je nachdem, mit welchem ​​Repository ich arbeite. Ich kann nicht genau sagen, was passiert oder warum.

Warum werden in der einen Auflistung die Dateien im Verzeichnis und der Zweig selbst aufgelistet, in der anderen Auflistung jedoch nur der Zweig?

Antwort1

Oben sieht es so aus, als würde Bash das erweitern, *das am Anfang von erscheint $LOCAL. Versuchen Sie es echo "$LOCAL".

verwandte Informationen