2012-07-16 10 views
7

Ich bin mir nicht sicher, was passiert ist, aber mein ~/.profil wird nicht mehr geladen.Bash .profile lädt nicht

Kann jemand etwas falsch mit dem folgenden sehen?

export PS1="\[email protected] [\w]# " 
export EDITOR="subl -w" 
export CLICOLOR=1 
export LSCOLORS=GxFxCxDxBxegedabagaced 

alias vst="ssh -i ~/.ssh/vst [email protected]" 

Ich weiß für eine Tatsache mit, dass PS1 wie ich zu tun versuchen, sollte es [email protected] [~/path/to/file]# tun, aber es ist nicht.

Irgendwelche Ideen?

Antwort

17

Gibt es ~/.bash_profile oder ~/.bash_login? Wenn ja, wird das anstelle von ~/.profile verwendet.

+0

ich in der Tat habe eine '.bash_login'. Kopieren der Inhalte von dort nach .profile und Entfernen von bash_login behoben. Vielen Dank. – Peter

+0

hat auch für mich funktioniert. Danke – DaddyMoe

+1

@Peter: die Lösung Kenorb gab unten (http://stackoverflow.com/a/29152555/499797) ist eine viel bessere als Kopieren alle Informationen in die gleiche Datei einfügen. – javatarz

-2

Ich muss mich bei diesem Benutzer anmelden, um ~/.bash_profile oder ~/profile zu erhalten, um Änderungen neu zu laden.

su - drew 

Sie müssen den Bindestrich zwischen su und Benutzernamen verwenden.

+1

Dies sieht eher wie ein Kommentar aus, anstatt zu antworten. – kenorb

9

In Unix FAQ (for OS X) können wir lesen:

Bash Startup-Dateien

Wenn ein "Login-Shell" startet, liest sie die Datei /etc/profile und dann ~/.bash_profile oder ~/.bash_login oder ~/.profile (welches auch immer existiert - es liest nur EINE dieser, Prüfung für sie in der genannten Reihenfolge). Wenn eine "Nicht-Login-Shell" gestartet wird, liest sie die Datei /etc/bashrc und dann die Datei ~/.bashrc.

Beachten Sie, dass, wenn Bash mit dem Namen sh aufgerufen wird, versucht, die Startsequenz der Bourne-Shell (sh) zu imitieren. Insbesondere eine Nicht-Login-Shell aufgerufen als sh liest keine Punktdateien standardmäßig. Weitere Informationen finden Sie auf der bash man-Seite.

Also, wenn Sie bereits ~/.bash_profile haben, wird die Datei ~/.profile wird nicht automatisch von bash gelesen werden, daher können Sie die folgenden Zeilen in Ihrer ~/.bash_profile hinzufügen, es zu laden:

# Load user profile file 
if [ -f ~/.profile ]; then 
    . ~/.profile 
fi