Legen Sie eine Umgebungsvariable in git bash fest

75

Wenn ich von der Windows-Gitbash-Befehlszeile aus stoße:

set $HOME = c

und TU :

echo $HOME

Es setzt es nicht auf c? Wie kann ich den Wert einer Umgebungsvariablen ändern / festlegen?

bier hier
quelle

Antworten:

100

Eine normale Variable wird durch einfaches Zuweisen eines Werts festgelegt. Beachten Sie, dass um das =: kein Leerzeichen zulässig ist.

HOME=c

Eine Umgebungsvariable ist eine reguläre Variable, die für den Export in die Umgebung markiert wurde.

export HOME
HOME=c

Sie können die Zuordnung mit der exportAnweisung kombinieren .

export HOME=c
chepner
quelle
Was machen OPs set?
Adamdport
Geht man von einem „normalen“ Wert $HOME(so dass die Expansions unquoted Ergebnisse in einem Wort), das die ersten drei Positionsparameter setzen auf die Werte von $HOME, =und cist. Zum Beispiel set a b c; echo "$2"würde ausgeben b.
Chepner
Gilt auch für Bash im Allgemeinen.
Charles Ross
39

Wenn Sie Umgebungsvariablen dauerhaft in Git-Bash festlegen möchten, haben Sie zwei Möglichkeiten:

  1. Legen Sie eine reguläre Windows-Umgebungsvariable fest. Git-bash ruft alle vorhandenen Windows-Umgebungsvariablen bei startupp ab.

  2. Richten Sie env-Variablen in der .bash_profileDatei ein.

.bash_profilebefindet sich standardmäßig in einem Benutzer-Home-Ordner wie C:\users\userName\git-home\.bash_profile. Sie können den Pfad zum Bash-Home-Ordner ändern, indem Sie die HOMEWindows-Umgebungsvariable festlegen.

.bash_profile Datei verwendet die reguläre Bash-Syntax und Befehle

# Export a variable in .bash_profile
export DIR=c:\dir
# Nix path style works too
export DIR=/c/dir

# And don't forget to add quotes if a variable contains whitespaces
export ANOTHER_DIR="c:\some dir"

Weitere Informationen zu Bash-Konfigurationsdateien .

Alexandr
quelle
1
Sie haben die OP-Frage vielleicht nicht beantwortet, aber Sie haben mir sicherlich bei meiner Frage geholfen. Ich habe versucht, die Umgebungsvariable PERL5LIB für Git Bash unter Windows zu überschreiben, und dies hat mir ermöglicht, dies einfach zu tun.
BebopSong
Möglicherweise möchten Sie Nummer 1 bearbeiten, um zu erwähnen, dass es sich um denselben Befehl wie in einer Windows-Shell handelt, außer mit einer anderen Syntax ( setx foo barversus setx foo=bar). Ich habe falsch verstanden, was Sie mit dieser Antwort gesagt haben, da Sie setx nicht erwähnt haben.
Jodeln
4

Das Erstellen einer .bashrc-Datei in Ihrem Home-Verzeichnis funktioniert ebenfalls. Auf diese Weise müssen Sie Ihr .bash_profile nicht jedes Mal kopieren, wenn Sie eine neue Version von git bash installieren.

Kyleus
quelle