Ich habe ein .bash_profile
in meinem Home-Verzeichnis, aber es wird bei der Anmeldung nicht ausgeführt. Wenn ich Folgendes tue, scheinen die Dinge so zu sein, wie ich es erwartet habe:
ssh myhost
bash
source ~/.bash_profile
Aber normalerweise passiert das alles beim Einloggen. Gedanken?
~/.profile
oder haben~/.bash_login
, da nur eines der drei Quellen verwendet wird. (Ich habe die genaue Reihenfolge vergessen.)Antworten:
Verwenden:
Geben Sie Ihr Passwort ein und geben Sie den Pfad zu der Shell an, die Sie verwenden möchten.
Für Bash wäre das
/bin/bash
. Für Zsh wäre das/usr/bin/zsh
.quelle
sudo chsh -s /bin/bash username
Neben der Antwort von akira können Sie auch die Datei / etc / passwd bearbeiten , um Ihre Standard-Shell anzugeben.
Sie finden eine Zeile wie diese:
Die Shell wird am Ende angegeben.
quelle
/etc/passwd
und vorsichtig sind, nutzt John die Tools, die das System bereitstellt.Möglicherweise überprüfen Sie Ihr Terminalprogramm. Möglicherweise ist es so konfiguriert, dass / bin / sh anstelle von / bin / bash ausgeführt wird
Bash führt .bash_profile nur für Anmeldesitzungen aus. .bashrc wird für alle Bash-Sitzungen ausgeführt, nicht nur für Anmeldesitzungen. Versuchen Sie, .bash_profile aus .bashrc zu beziehen (vermeiden Sie zirkuläre Abhängigkeiten!) Oder konfigurieren Sie Ihr Terminalprogramm so, dass / bin / bash -l als Shell-Programm ausgeführt wird.
quelle
Eine Alternative besteht darin, das Startskript in .profile umzubenennen. Diese Datei wird von den meisten Unix-Shells als Quelle verwendet .
quelle
Bash aktivieren:
Shell für Benutzer ändern:
wo:
quelle
sudo
Zugriff auf dieses System hat? Warum geben Sie Anweisungen zum Ändern der Anmeldeshell eines anderen Benutzers?Um eine Shell zu Ihrer Standard-Shell zu machen, überprüfen Sie zunächst, ob sie auf Ihrem Computer installiert und erkannt wurde, indem Sie den Inhalt von
/etc/shells
:Verwenden Sie dann
chsh
, um Ihre Shell zu ändern:Verweise
quelle
Ihre Frage enthält nicht genügend Informationen, die ich mit Sicherheit mitteilen kann, aber ich bin bereits auf dasselbe Problem gestoßen. Angenommen, Sie haben bereits / bin / bash in Ihrer Passworteingabe festgelegt, dann wird Ihr Terminal möglicherweise so gestartet.
Wenn Sie versuchen, ein GUI-Terminal zu starten, können
gnome-terminal
Sie davon ausgehen, dass die Shell Ihre Bash-Startdateien liest. Dies geschieht jedoch nicht standardmäßig auf Ubuntu und möglicherweise anderen Systemen.Ich habe es unter Ubuntu behoben, indem ich die Einstellungen für das Gnome-Terminal bearbeite und den Startbefehl auf setze
bash -l
.-l
ist eine Abkürzung für--login
. Dadurch wird bash angewiesen, als Anmeldeshell zu starten, wodurch die Startskripte geladen werden, sobald Sie sich über ssh anmelden.Ich bin sicher, dass es eine gute Begründung dafür gibt, wie es ist, aber ich fand es überraschend und mehr als ärgerlich, dass ich die gleichen Profile auf Linux-, Cywgin- und Macos-Systemen teile.
quelle