So aktualisieren Sie die Mac iTerm2-Terminaleingabeaufforderung

So aktualisieren Sie die Mac iTerm2-Terminaleingabeaufforderung

Ich verwende Mac 10.13.2 High Sierra. Ich habe die folgende .bash_profileDatei erstellt, um den Dateipfad zusammen mit der Eingabeaufforderung anzuzeigen. Wenn ein Git-Repository vorhanden ist, wird auch der Git-Status angezeigt.

Alles funktioniert, außer dem langen Eingabeaufforderungsnamen.

Meine Bash-Datei enthält: -

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

source ~/git-prompt.sh


precmd() {
  __posh_git_ps1 '\u@\h:\w ' '$ '
}

if [ $ITERM_SESSION_ID ]; then
  export PROMPT_COMMAND='echo -ne "\033];${PWD##*/}\007"; ':"$PROMPT_COMMAND";
fi

PROMPT_COMMAND='__posh_git_ps1 "\u@\h:\w " "\\\$ ";'$PROMPT_COMMAND

export PS1="$: "

Die Bash-Eingabeaufforderung sieht im Bild folgendermaßen aus: -

Bash-Eingabeaufforderung

Ich möchte keinen langen masum@Admin-MacBook-Pro:~/Text in dieser Eingabeaufforderung. Ein einfacher $:reicht mir.

Ich habe gelesen, dass die folgende Zeile meine Eingabeaufforderung so aussehen lassen sollte.

export PS1="$: "

Aber es hat keine Wirkung. Wie kann ich das Problem beheben?

Antwort1

Wenn PROMPT_COMMANDfestgelegt ist, wird der Wert PS1dynamisch dadurch überschrieben und was auch immer Sie manuell festlegen, spielt keine Rolle.

Um Ihre Eingabeaufforderung kürzer zu machen, passen Sie sie PROMPT_COMMANDbeispielsweise an:

PROMPT_COMMAND='__posh_git_ps1 "" "\\$ ";'

In Ihrem wird PROMPT_COMMANDdas \udurch Ihren Benutzernamen ersetzt, das \hdurch Ihren Hostnamen und das \wdurch Ihr Arbeitsverzeichnis, sodass Sie Ihre Eingabeaufforderung nach Wunsch anpassen können. Schauen Sie sich dieBash-Eingabeaufforderung – Anleitungfür mehr Details.

verwandte Informationen