我有csh
默认的 shell,如 所示echo $SHELL
。我想切换bash
为我的默认 shell。我尝试了以下方法均无效:
我
chsh
得到:chsh: can only change local entries; use ypchsh instead.
我
ypchsh
得到:ypchsh: yppasswdd not running on NIS master host ("dcsun2").
我只.chsrc
在我的主目录中找到任何.profile
文件/etc
。如何将我的默认 shell 更改为bash
?
答案1
确保您已
bash
安装。了解 的位置
bash
:which bash
或者
whereis bash
下面,我假设位置是
/bin/bash
。a) 如果您有管理权限,只需以 root 身份运行:
usermod -s /bin/bash YOUR_USERNAME
(替换
YOUR_USERNAME
为您的用户名)。b) 如果您没有 adm。权利,您仍然可以
bash --login
在登录时运行,只需输入以下行在最后您的.cshrc
或.profile
(在您的主目录中):setenv SHELL /bin/bash exec /bin/bash --login
答案2
请联系您的系统管理员。他把事情设置错了。如果你那么你是系统管理员吗你已经设置错误。
错误消息看起来非常简单。您没有yppasswd
在 dcsun2 上运行。它应该是。
但是快速谷歌搜索会出现这个结果这表明如果yppasswd
在客户端和服务器上都运行,您将收到此错误。在这种情况下,请在客户端上将其关闭。
如果你坚持使用 csh 作为登录 shell,你仍然可以让它在你登录时调用 bash。将以下命令放入你的~/.login
(另请参阅无需 chsh 或管理员权限即可更改默认 shell):
sleep 2
if (-x /usr/local/bin/bash) then
exec /usr/local/bin/bash -l
endif
如有必要,请替换/usr/local/bin/bash
为正确的路径。如果一切正常,请删除sleep 2
(这会产生延迟,在此期间您可以按Ctrl+C
下降到 csh 提示符,以防出现问题)。