2016-04-19 5 views
0

Ich habe eine .bash_profile und ich habe mehrere Befehle in dieser Shell. Ich habe mich als user1 angemeldet. Jetzt mache ich in meinem Terminal einen su - user2.Bash-Profil für Nicht-Login-Shell sichtbar machen

Wenn ich mit user2 bin, kann ich diese Befehle, die ich in der .bash_profile erstellt habe, nicht aufrufen. Wie könnte ich die PATH-Elemente und Umgebungsvariablen auch für user2 sichtbar machen? Wenn ich ein Echo $ PATH benutze, wenn ich user2 benutze, bekomme ich folgendes:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/git/bin :/usr/local/go/bin

Wenn ich ein Echo $ PATH mit Benutzer1, bekomme ich viel mehr. Wie mache ich diese zusätzlichen PATH-Elemente auch für user1 sichtbar?

+0

Sie könnten 'source ~ user1/.bash_profile' verwenden, um Ihr Profil auszuführen. – Barmar

+0

Der Benutzer2 ist ein Postgres-Benutzer und ich konnte das Home-Verzeichnis nicht bekommen! – sparkr

+0

@spakr Wie ich in der Antwort unten gesagt habe, versuche 'su postgres' (ohne Minus) – GMichael

Antwort

0

su <user> (ohne -) liest nicht die < user> ‚s Shell-Initialisierungsdateien. Somit bleiben die vorherigen Benutzereinstellungen erhalten.

+0

Seine Beschwerde ist, dass er nicht die Einstellungen des vorherigen Benutzers erhält. – Barmar

+0

Das habe ich gemeint. Er sollte 'su ' ausführen und er wird bekommen, was in der alten Benutzer-Shell war – GMichael

Verwandte Themen