Befehlsersetzungen in doppelten Anführungszeichen "
sofort erweitern. Das ist nicht das, was Sie für Ihre Eingabeaufforderung wollen. Einfache Anführungszeichen '
behält die Ersetzungen in $PS1
bei die dann nur beim Anzeigen der Eingabeaufforderung erweitert werden. Daher sollte dies funktionieren:
export PS1='$(whoami)@$(hostname):$(pwd)'
Wenn Sie das übliche Dollarzeichen und ein Leerzeichen am Ende Ihrer Eingabeaufforderung wünschen, fügen Sie einfach $
hinzu am Ende (kein Escape erforderlich):export PS1='$(whoami)@$(hostname):$(pwd)$ '
sh-4.2$ export PS1="\[email protected]\h:\w>"
[email protected]:~>cd /usr/local
[email protected]:/usr/local>
Dieser Befehl funktioniert bei mir.
export PS1="\[email protected]\h: \W:$"
Wo
\u =Benutzername
\h =Hostname
\W Name des aktuellen Ordners (nicht vollständiger Pfad)