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)