it-swarm.com.de

Wie ändere ich den Titel des Git-Terminals in Windows?

Ich arbeite unter Windows 10 und habe normalerweise bis zu 5 CMD-Fenster geöffnet. Ich mache das, weil ich dieselbe Anwendung mit unterschiedlichen Daten ausführen und die Überwachung fortsetzen muss, wenn eine Ausnahme ausgelöst wird.

Ich ändere den Fenstertitel (mit dem Befehl title) und verwende Zahlen anstelle des Standardtexts, um leicht zu erkennen, in welchem ​​Fenster ich arbeite, und um sie mit Alt+Tab zu identifizieren und zwischen ihnen zu wechseln ( ein Beispiel für wie ich mit meinen CMD windows arbeite )

Vor kurzem habe ich angefangen, Git zu verwenden und ich mag das Git Bash-Terminal für Windows sehr. Ich möchte mit dem Git Bash-Terminal genauso arbeiten wie mit CMD-Fenstern, finde aber keine Möglichkeit, den Fenstertitel zu ändern. Ich habe ein wenig gesucht und diese Anleitung und einige andere gefunden (die ich nicht einfügen kann, da ich noch nicht mehr als zwei Links posten darf), aber es scheint nur zu funktionieren, wenn ein anderer Standardtitel festgelegt wird. Ich möchte den Fenstertitel jederzeit in einen benutzerdefinierten Text ändern.

Ist das möglich? Gibt es einen Befehl wie title für Git Bash?

Sie waren auf dem richtigen Weg mit diesem Link

Wenn Sie das git-Prompt.sh-Skript ein wenig ändern (für mich befindet sich dies in c:\Program Files (x86)\Git\etc\profile.d\git-Prompt.sh), können Sie den Titel beliebig gestalten.

Hinweis: Sie müssen Notepad ++ oder ähnliches als Administrator ausführen, um in dieses Verzeichnis zurückzuschreiben.

Speichern Sie zuerst eine Sicherung von git-Prompt.sh (wie git-Prompt.backup.sh natürlich), und ändern Sie dann den Start von git-Prompt.sh wie folgt:

[ Edit: behebt das erste test-Flag von -n bis -z, um nach einer leeren $ GITTITLEPREFIX-Variablen zu suchen, anstatt nach einer nicht leeren und fehlendem 'fi' hinzuzufügen.]

if test -z "$GITTITLEPREFIX" # if not empty
then
    GITTITLEPREFIX="Git-Bash => " # prefix that will have current pwd appended after it
fi

if test -f ~/.config/git/git-Prompt.sh
then
    . ~/.config/git/git-Prompt.sh
else
    if test -n "$GITTITLE"
    then   ##### Set window title directly to GITTITLE if not empty
        PS1='\[\033]0;$GITTITLE\007\]' 
    else   ##### Set window title to GITTITLE PREFIX plus the PWD
        PS1='\[\033]0;$GITTITLEPREFIX${PWD//]^[:ascii:]]/?}\007\]' 
    fi
fi
###### Leave the rest of the file the same
    PS1="$PS1"'\n'
    PS1="$PS1"'\[\033[32m\]'
###### Etc.

Dabei wird zunächst geprüft, ob GITTITLEPREFIX leer ist. Wenn nicht, wird es auf "Git-Bash =>" gesetzt, ähnlich wie im verknüpften Artikel. Der aktuelle Pfad wird danach angehängt. Wenn Sie also "1: $ PWD" wünschen, setzen Sie GITTITLEPREFIX auf "1:" wie folgt:

GITTITLEPREFIX="1 : "

Andernfalls können Sie GITTITLE auf einen beliebigen nicht leeren Wert setzen. Der gesamte Titel wird dann genau auf den Inhalt von GITTITLE (keine angehängte PWD) gesetzt. Wenn Sie also nur "1" wollen, verwenden Sie Folgendes:

GITTITLE="1"

Führen Sie dann das Skript aus. Mit meinem Weg habe ich es so gemacht:

. "/c/Program Files (x86)/Git/etc/profile.d/git-Prompt.sh"

und der Titel sollte sich ändern. Natürlich können Sie dies als Aliasnamen verwenden oder ein separates Skript an einem Ort erstellen, der sich im Pfad befindet, so dass es viel einfacher läuft, und der Titel könnte nur ein Argument sein. Ich lasse das als Übung für den Leser ...

4
LightCC

Dieser Thread ist einige Monate alt. Aber ich denke, eine Alternative wird hilfreich sein

Sie können der .bashrc-Datei in Ihrem Benutzerprofilordner die folgende Zeile hinzufügen

export TITLEPREFIX="Git Bash"

wo Sie wollen, dass Git bash Ihr Titelpräfix ist. Dies ist eine benutzerspezifische Änderung. Wenn ein Computer also von mehreren Benutzern mit eigenen Anmeldedaten verwendet wird, kann jeder seinen eigenen Titel anpassen.

5
user3086265

Ich habe meine Frage gelöst, indem ich nur sehr wenige Änderungen am Skript vorgenommen habe. Als Erstes, um den gewünschten Namen für das Fenster zu übergeben, habe ich die Variable name=$1 hinzugefügt und in die Titelvariable gesetzt:

name=$1
PS1='\[\033]0;$name\007\]' # set window title

Die zweite, wie empfohlen hier , kommentierte ich die nächsten Zeilen:

#PS1="$PS1"'\[\033[35m\]'       # change to purple
#PS1="$PS1"'$MSYSTEM '          # show MSYSTEM

Der endgültige Code ist unten:

if test -f /etc/profile.d/git-sdk.sh
then
    TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
    TITLEPREFIX=$MSYSTEM
fi
name=$1
PS1='\[\033]0;$name\007\]' # set window title
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'\[\033[32m\]'       # change to green
PS1="$PS1"'\[email protected]\h '             # [email protected]<space>
#PS1="$PS1"'\[\033[35m\]'       # change to purple
#PS1="$PS1"'$MSYSTEM '          # show MSYSTEM
PS1="$PS1"'\[\033[33m\]'       # change to brownish yellow
PS1="$PS1"'\w'                 # current working directory
if test -z "$WINELOADERNOEXEC"
then
    GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
    COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
    COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
    COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
    if test -f "$COMPLETION_PATH/git-Prompt.sh"
    then
        . "$COMPLETION_PATH/git-completion.bash"
        . "$COMPLETION_PATH/git-Prompt.sh"
        PS1="$PS1"'\[\033[36m\]'  # change color to cyan
        PS1="$PS1"'`__git_ps1`'   # bash function
    fi
fi
PS1="$PS1"'\[\033[0m\]'        # change color
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'$ '                 # Prompt: always $
MSYS2_PS1="$PS1"               # for detection by MSYS2 SDK's bash.basrc

Zeitlich machte ich eine Kopie des Skripts und fügte es auf C: ein, um es leicht auszuführen, wenn ich den Titel gemäß meinem Pfad wie folgt ändern muss: $ . /c/changename.sh 

Ich lerne immer noch über das Scripting, damit ich einen Alias ​​setzen kann. @LightCC sagte: "Ich lasse das als Übung für den Leser ..."

Eine einfache Option ist echo -ne "\e]0;YOUR TITLE HERE\a".

1
Fabio A. Correa