Je travaille sous Windows 10 et, en règle générale, j'ai ouvert jusqu'à 5 fenêtres CMD. Je le fais parce que je dois exécuter la même application avec des données différentes et continuer à surveiller si une exception est levée.
Je change le titre de la fenêtre (en utilisant la commande title
) et utilise des nombres à la place du texte par défaut, afin d'identifier facilement la fenêtre dans laquelle je travaille et de pouvoir identifier et changer entre eux en utilisant Alt+Tab
( un exemple de comment je travaille avec mes fenêtres CMD )
Récemment, j'ai commencé à utiliser Git et j'aime beaucoup le terminal Git Bash pour Windows. J'aimerais travailler avec le terminal Git Bash de la même façon que je travaille avec les fenêtres CMD, mais je ne trouve aucun moyen de changer le titre de la fenêtre. J'ai cherché un peu et trouvé ces instructions et quelques autres (que je ne peux pas coller parce que je ne suis pas autorisé à poster plus de deux liens), mais cela semble fonctionner uniquement en définissant un titre par défaut différent. J'aimerais changer le titre de la fenêtre en n'importe quel texte personnalisé que je choisis, à tout moment.
Est-ce possible? Existe-t-il une commande comme title
disponible pour Git Bash?
Vous étiez sur la bonne voie avec ce lien
Si vous modifiez un peu le script git-Prompt.sh
(pour moi, il se trouve dans c:\Program Files (x86)\Git\etc\profile.d\git-Prompt.sh
), vous pouvez créer le titre comme vous le souhaitez.
Remarque: vous devrez exécuter Notepad ++ ou un administrateur similaire en tant qu'administrateur pour écrire dans ce répertoire.
Commencez par sauvegarder une sauvegarde de git-Prompt.sh
(comme git-Prompt.backup.sh
, bien sûr), puis modifiez le début de git-Prompt.sh
comme suit:
[Edit: a corrigé le premier indicateur test
de -n
à -z
afin de rechercher une variable $ GITTITLEPREFIX vide plutôt qu'une variable non vide et d'ajouter le 'fi' manquant.]
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.
Cela va d'abord vérifier si GITTITLEPREFIX est vide, sinon, il le mettra à "Git-Bash =>" comme dans l'article lié. Le chemin courant sera ajouté après, donc si vous voulez "1: $ PWD", définissez GITTITLEPREFIX sur "1:" comme ceci:
GITTITLEPREFIX="1 : "
Sinon, vous pouvez définir GITTITLE sur n'importe quelle valeur non vide, puis le titre entier sera défini exactement sur le contenu de GITTITLE (aucun PWD ajouté), donc si vous voulez juste "1", utilisez ceci:
GITTITLE="1"
Ensuite, lancez le script. Avec mon chemin, je l'ai fait comme ça:
. "/c/Program Files (x86)/Git/etc/profile.d/git-Prompt.sh"
et le titre devrait changer. Bien sûr, vous pouvez aliaser cela ou en faire un script séparé à un emplacement situé dans le chemin, son exécution est donc beaucoup plus simple et le titre pourrait n'être qu'un argument. Je vais laisser cela comme un exercice pour le lecteur ...
Ce fil a quelques mois. Mais je pense qu'une alternative sera utile
Vous pouvez ajouter la ligne suivante au fichier .bashrc dans votre dossier de profil utilisateur
export TITLEPREFIX="Git Bash"
où vous voulez Git bash être votre préfixe de titre. Ceci est un changement spécifique à l'utilisateur. Ainsi, si plusieurs utilisateurs utilisent une machine avec leurs propres connexions, tout le monde peut personnaliser son titre.
J'ai résolu ma question en apportant très peu de modifications au script. Le premier, pour passer le nom que je veux pour la fenêtre, j’ai ajouté la variable name=$1
et l’ai défini dans la variable title:
name=$1
PS1='\[\033]0;$name\007\]' # set window title
Le second, comme recommandé ici , j'ai commenté les lignes suivantes:
#PS1="$PS1"'\[\033[35m\]' # change to purple
#PS1="$PS1"'$MSYSTEM ' # show MSYSTEM
Le code final est ci-dessous:
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"'\u@\h ' # user@Host<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
Temporairement, j'ai fait une copie du script et l'ai collé sur C :, pour l'exécuter facilement chaque fois que je dois changer le titre, en fonction de mon chemin, comme suit: $ . /c/changename.sh
Je suis encore en train d'apprendre à utiliser des scripts pour pouvoir créer un alias. Comme @LightCC a déclaré: "Je vais laisser cela comme un exercice pour le lecteur ..."
Une option simple est echo -ne "\e]0;YOUR TITLE HERE\a"
.