2016-08-13 5 views
1

Soweit ich weiß, ist Rvm eine Reihe von Bash-Skripten. Warum braucht man Login-Shells? Welche Eigenschaft, die nur in Login-Shells existiert, ist für rvm notwendig?Warum benötigt rvm eine Login-Shell?

Verwandte Beitrag: rvm installation not working: “RVM is not a function”

+1

Ihre Frage ist unklar. Warum denkst du, dass RVM eine Login-Shell benötigt? Eine solche Einschränkung kann ich in der RVM-Dokumentation nicht finden. Ganz im Gegenteil. Es funktioniert perfekt in jeder Art von interaktiven Shell, nicht nur eine Login-Shell. Es ist nicht standardmäßig in nicht-interaktiven Shells aktiviert, aber auch hier ist die Aktivierung ein einfacher Einzeiler, und es ist eindeutig mit Beispielen dokumentiert. –

Antwort

1

Ihre RVM Config-Linie ([[ -s "$HOME/.rvm ...) wahrscheinlich ist, befindet sich in .profile, die nur gelesen, wenn Ihr bash auf Login-Shell-Modus ist. Es gibt andere Konfigurationsdateien, die auch in anderen Modi gelesen werden, z. B. .bashrc, wenn die Shell interaktiv ist, aber keine Anmeldung oder Datei, die durch $BASH_ENV definiert wird, wenn sie nicht interaktiv ist.

Weitere Informationen finden Sie im Abschnitt "Invocation" in man bash.

+0

Das heißt, wenn ich die Konfigurationszeile zu bashrc hinzufügen würde, dann würde die Nicht-Login-Shell die gleiche funktionieren? – Endle

+0

@endle Ja, es sollte funktionieren. Es funktioniert jedoch nicht für nicht interaktive Skripte (wie Bash-Skripte). –

Verwandte Themen