Ich kann meine Bash-Ansagen nicht so erhalten, wie ich es will

292
Leon Wang

Ich setze export PS1='[\u@\h \W](\#)\$ 'und setze die Einstellungsdatei .profile. Meine Aufforderung zeigt jedoch als

\ u @ \ h \ W \ $

Ich benutze bash für macOS Sierra.

1

2 Antworten auf die Frage

1
ALN

Sind Sie sicher, dass Ihr .profile ausgeführt wird? Gemäß der bash-Referenz (/usr/share/doc/bash/bashref.pdf), die mit den Standardeinstellungen betrieben wird, wird sie von bash nur gelesen, wenn in Ihrem Home-Verzeichnis (für interaktive Login-Shells) kein .bash_profile und kein .bash_login vorhanden ist und nur .bashrc für interaktive Nicht-Login- Shells.

Es muss also explizit von den anderen aufgerufen werden, wenn sie vorhanden sind und Sie sie verwenden möchten.

Um sicherzugehen, geben Sie etwas echo "Hello .profile"in .profile ein .

0
Jeroen

Setzen Sie es nicht in ~ / .profile, sondern in ~ / .bash_profile.
Mein ~ / .bash_profile enthält Folgendes:

# Debian prompt PS1='\u@\h:\w\$ ' 

Wenn Sie ihn bearbeiten, stellen Sie sicher, dass Sie ihn nach dem Speichern "quellen". Andernfalls werden die Änderungen in Ihrem aktuellen Terminal nicht angezeigt:

$ source ~/.bash_profile 

Sie können auch überprüfen, worauf PS1 eingestellt ist, indem Sie Folgendes ausführen:

$ echo $PS1