我想将 freebsd 中的默认 shell 更改为 bash。我尝试了以下操作:
1.chsh -s /bin/bash (or /usr/local/bin/bash) <my_username>
输入密码后出现此错误:chsh: yppasswd_remote(): NIS password update failed
2.已添加exec /bin/bash --login
到我的.profile
文件中。但即使在注销并重新登录后,tcsh 仍然是默认 shell。
如果还有什么需要做的,请告诉我好吗?提前谢谢。
答案1
确保/usr/local/bin/bash
(或你的 bash 的路径) 在 中/etc/shells
。Chsh 只允许更改为允许的 shell 列表中的 shell。
此外,.profile
适用于 Bourne shell,而不是 tcsh 之类的 c-shell。您的 hack 可能应该使用.cshrc
。
答案2
您可以使用 vipw (# man vipw) 正确编辑您的 passwd 文件。运行后,它会更改位于行末的默认 shell。
答案3
您可以使用“vipw”工具来编辑用户的shell。
http://www.unix.com/man-page/FreeBSD/8/vipw/
您应该更改用户的 shell 部分:/usr/local/bin/bash。例如:
aokan:*:1002:3024::0:0:User &:/home/pgsql:/usr/local/bin/bash
确保已安装 bash:
pkg_info |grep bash
答案4
您可以编辑您的 passwd 文件并在您的用户名前面输入您的默认 bash,例如:
news:x:9:9:news:/var/spool/news:/bin/sh
将 /bin/sh 更改为您的 bash 所在的位置。