Ich benutze Git, ich habe die folgende Zeile in .bashrc
geändert, um den aktuellen ausgecheckten Zweig in der Eingabeaufforderung anzuzeigen, wenn pwd
ein Git Repo ist. Betriebssystem, das ich benutze, ist: Ubuntu 32bit
Ich benutze diese Zeile, um den aktuellen Zweig des Git-Repos in der Shell-Eingabeaufforderung anzuzeigen, anstelle der obigen Zeile.
%Vor% Das Problem ist, wenn ich es Freunden gebe, Shell gibt Fehler __git_ps1: command not found
, beim Navigieren zwischen den Verzeichnissen, wie das Skript für git Zweig beim Ändern von Verzeichnissen sucht.
Wie überprüfe ich, ob Git installiert ist und führe die Verzweigungsüberprüfung nur aus, wenn git installiert ist?
Bearbeiten: Wie von Ayckoster vorgeschlagen, kam ich mit den folgenden Codezeilen auf:
%Vor% Jetzt, jedes Mal, wenn ich das Terminal öffne, bekomme ich git --version
ausgegeben auf Bildschirm, während Git installiert ist, und ich bekomme den folgenden Fehler, während ich das Terminal öffne, wenn Git nicht installiert ist:
Wie lösche ich das? Danke.
Letzte Änderung:
Dies ist der Code, den ich mir schließlich ausgedacht habe, Fühlen Sie sich frei, diesen Code in Ihrem .bashrc
zu verwenden, um den aktuellen git branch
in Ihrer Shell-Eingabeaufforderung anzuzeigen
Versuchen Sie,
auszuführen %Vor% Abhängig vom Rückgabewert $?
können Sie davon ausgehen, dass git installiert ist oder nicht. Wenn Sie 0 erhalten, ist alles in Ordnung, sonst ist Git nicht installiert. Sie können auch test
this.
Dies setzt voraus, dass alles korrekt eingerichtet ist und git in Ihrem $ PATH ist und der Befehl git nicht umbenannt wird.
Benutze es so
%Vor% mit which
sollte helfen. Wenn es nichts zurückgibt - & gt; Git ist nicht installiert.
Sie können Folgendes verwenden, um Ihre Bash-Eingabeaufforderung abhängig von der Existenz von Git bedingt zu ändern:
%Vor% Der Linux Tutorial Blog-Eintrag "Tutorial: Bedingungen in bash scripting (if-Anweisungen ) " zeigt die verschiedenen verfügbaren if-Bedingungen an, z. B. -a
, um das Vorhandensein einer Datei zu überprüfen.
Das Problem, das ich bei dieser Lösung sehe, ist, dass es von der Position von git
abhängt (d. h. /usr/local/bin/
oder /usr/local/
im obigen Beispiel). Dies ist möglicherweise kein Problem, da git auf Ubuntu in /usr/local/
gefunden wird, wenn git über apt-get installiert wird.
Wenn Sie nicht von der installierten Position von git abhängig sein möchten, können Sie die Befehlsersetzung verwenden, um die Ergebnisse des Befehls which
anzuzeigen.
Die Verwendung von which
wurde jedoch von anderen Bewertern als "böse" eingestuft. (Obwohl ich daran interessiert sein würde, dass sie ihre Argumentation für solche Aussagen konkretisieren, anstatt nur die Erklärung abzugeben, ohne ihre Argumentation zu liefern.)
Das hat für mich funktioniert:
GIT_VERSION="$ (git --Version)" if ["$ GIT_VERSION"!="Befehl nicht gefunden"]; dann Echo "Git bereits" installiert sonst Echo "Git fehlt" fi