如何更改 FreeBSD 中的默认 shell?

hol*_*lms 11 freebsd shell bash zsh sh

FreeBSD 中的默认 shell 是sh,我真的无法忍受:自动完成非常有限,rehash 命令会杀死我。感觉自己是个单臂单腿的人……

如何将 shell 全局更改为zshor bash- 对于 root 以及所有当前和未来用户?

alv*_*osu 29

对于现有用户,使用chsh命令(“ CH昂热SH ELL”):

chsh -s SHELL USER
chsh -s /usr/local/bin/bash root
Run Code Online (Sandbox Code Playgroud)

对于未来的用户:

  • 编辑“ /etc/pw.confdefaultshell关键字
  • 使用时adduser(),选择必要的外壳

  • ...但要小心将root shell 更改为ports 树中的某些内容(例如,/usr/local/bin/bash),因为如果您在port 升级期间搞砸了某些事情,您可能会发现自己没有root 访问权限。 (16认同)
  • 静态构建它并将其复制到 /bin 可能是您可以做的最安全的事情。我只是将 root 的 shell 设置为 `/bin/sh`,然后在我真正需要以 root 身份登录的极少数情况下设置为 `exec bash`(更多时候我只是从我的用户帐户中使用 `sudo`)。 (8认同)
  • s/功能/未来/? (2认同)