У меня в csh
качестве оболочки по умолчанию, как показано echo $SHELL
. Я хочу переключиться в bash
качестве моей оболочки по умолчанию. Я попробовал следующие подходы безрезультатно:
С
chsh
я получаю:chsh: can only change local entries; use ypchsh instead.
С
ypchsh
я получаю:ypchsh: yppasswdd not running on NIS master host ("dcsun2").
У меня есть только .chsrc
в моем домашнем каталоге, и я не могу найти какие-либо .profile
файлы в /etc
. Как я могу изменить оболочку по умолчанию на bash
?
Ответы:
Убедитесь, что вы
bash
установили.Узнайте местоположение
bash
:или
Ниже я предполагаю, что местоположение
/bin/bash
.а) Если у вас есть права администратора, просто запустите от имени пользователя root:
(замена
YOUR_USERNAME
на ваше имя пользователя).б) если у вас нет адм. права, вы все равно можете просто запустить
bash --login
при входе в систему, поставив следующую строку в конце вашего.cshrc
или.profile
(в вашем домашнем каталоге):источник
bash
указан ли/etc/shells
правильный путь.export SHELL=/bin/bash
. На самом деле есть лучший способ, чем это - см. Обновление.Обратитесь к системному администратору. Он все неправильно настроил. Если вы системный администратор, значит, вы все настроили неправильно.
Сообщение об ошибке выглядит довольно просто. Вы не
yppasswd
работали на dcsun2. Должен быть.Но быстрый поиск в Google приводит к этому результату, который указывает на то, что вы получите эту ошибку, если
yppasswd
она работает как на клиенте, так и на сервере. В этом случае отключите его на клиенте.Если вы застряли с csh в качестве оболочки входа в систему, вы все равно можете заставить его вызывать bash при входе в систему. Вставьте в него следующие команды
~/.login
(см. Также Изменение оболочки по умолчанию без привилегий chsh или права администратора ):Замените
/usr/local/bin/bash
на правильный путь, если это необходимо. Если все работает, удалитеsleep 2
(что приводит к задержке, во время которой вы можете нажать,Ctrl+C
чтобы перейти к приглашению csh, если что-то пойдет не так).источник