我有csh
我的默认外壳,如echo $SHELL
. 我想切换到bash
我的默认 shell。我尝试了以下方法无济于事:
随着chsh
我得到:
chsh: can only change local entries; use ypchsh instead.
Run Code Online (Sandbox Code Playgroud)随着ypchsh
我得到:
ypchsh: yppasswdd not running on NIS master host ("dcsun2").
Run Code Online (Sandbox Code Playgroud)我只有.chsrc
在我的主目录中,我.profile
在/etc
. 如何将我的默认 shell 更改为bash
?
roz*_*acz 47
确保你已经bash
安装。
了解位置bash
:
which bash
Run Code Online (Sandbox Code Playgroud)
或者
whereis bash
Run Code Online (Sandbox Code Playgroud)
下面,我假设位置是/bin/bash
。
a) 如果您有管理权限,只需以 root 身份运行:
usermod -s /bin/bash YOUR_USERNAME
Run Code Online (Sandbox Code Playgroud)
(替换YOUR_USERNAME
为您的用户名)。
b) 如果您没有管理员。权限,您仍然可以bash --login
在登录时运行,通过将以下行放在您的末尾.cshrc
或.profile
(在您的主目录中):
setenv SHELL /bin/bash
exec /bin/bash --login
Run Code Online (Sandbox Code Playgroud)bah*_*mat 13
请联系您的系统管理员。他设置错了。如果您是系统管理员,那么您的设置就错了。
错误消息看起来很简单。您没有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
Run Code Online (Sandbox Code Playgroud)
/usr/local/bin/bash
如有必要,请替换为正确的路径。如果一切正常,请删除sleep 2
(这会造成延迟,在此期间您可以按Ctrl+C
进入 csh 提示符,以防出现问题)。
归档时间: |
|
查看次数: |
184639 次 |
最近记录: |