Ich habe csh
als Standard-Shell, wie von gezeigt echo $SHELL
. Ich möchte bash
als meine Standard-Shell wechseln . Ich habe die folgenden Ansätze ohne Erfolg versucht:
Mit
chsh
bekomme ich:chsh: can only change local entries; use ypchsh instead.
Mit
ypchsh
bekomme ich:ypchsh: yppasswdd not running on NIS master host ("dcsun2").
Ich habe nur .chsrc
in meinem Heimatverzeichnis und ich kann keine .profile
Dateien in finden /etc
. Wie kann ich meine Standard-Shell auf ändern bash
?
Antworten:
Stellen Sie sicher, dass Sie
bash
installiert haben.Erfahren Sie den Standort von
bash
:oder
Im Folgenden werde ich davon ausgehen, dass der Standort ist
/bin/bash
.a) Wenn Sie Administratorrechte haben, starten Sie einfach als root:
(Ersetzen
YOUR_USERNAME
durch Ihren Benutzernamen).b) Wenn Sie keine Adm haben. Rechte können Sie immer noch nur
bash --login
bei der Anmeldung ausführen , indem Sie die folgende Zeile am Ende Ihres.cshrc
oder.profile
(in Ihrem Home-Verzeichnis) einfügen:quelle
bash
in aufgelistet wird/etc/shells
mit richtigen Pfad.export SHELL=/bin/bash
. Eigentlich gibt es einen besseren Weg - siehe Update.Wenden Sie sich an Ihren Systemadministrator. Er hat alles falsch gemacht. Wenn Sie Ihr Systemadministrator sind, haben Sie die Dinge falsch eingestellt.
Die Fehlermeldung sieht ziemlich direkt aus. Sie haben nicht
yppasswd
auf Dcsun2 ausgeführt. Es sollte sein.Bei einer schnellen Google-Suche wird dieses Ergebnis angezeigt, was darauf hinweist, dass dieser Fehler auftritt, wenn
yppasswd
er sowohl auf dem Client als auch auf dem Server ausgeführt wird. In diesem Fall schalten Sie es auf dem Client aus.Wenn Sie mit csh als Anmeldeshell nicht weiterkommen, können Sie Bash trotzdem aufrufen, wenn Sie sich anmelden. Fügen Sie die folgenden Befehle in Ihre ein
~/.login
(siehe auch Ändern der Standardshell ohne chsh- oder Administratorrechte ):/usr/local/bin/bash
Bei Bedarf durch den richtigen Pfad ersetzen . Wenn alles funktioniert, entfernen Siesleep 2
(wodurch eine Verzögerung entsteht, während der Sie drücken könnenCtrl+C
, um zu einer csh-Eingabeaufforderung zurückzukehren, falls etwas schief geht).quelle