我很惊讶我没有在网站上找到这个问题。所以,今天$
是在我以新用户身份登录后出现的。这是出乎意料的,因为我的主要用户的提示符以username@computername:~$
.
那么,如何从另一个 shell 切换到 bash?
答案1
假设未知 shell 支持运行绝对命令,您可以尝试:/bin/bash
要更改默认 shell,我将使用chsh(1)
.使用示例:chsh -s /bin/bash $USER
答案2
您输入bash
.如果您希望这是永久的,请/bin/bash
通过编辑将默认 shell 更改为/etc/passwd
.
这是我的一些片段/etc/passwd
:
avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin
最后一个字段包含 shell,将最后一个字段修改:
为有效或无效 shell 即可。两者/bin/false
都/sbin/nologin
意味着用户没有真正的登录 shell,尽管如果 pam 设置不正确,这并不意味着他们无法登录(我在 Arch Linux 中报告了一个关于此的错误,因为您可以以图形方式登录,而无需登录 shell)。/bin/bash
和/bin/zsh
都是有效的 shell,请参阅 参考资料/etc/shells
获取系统上有效 shell 的列表。这是我的/etc/shells
,如果你有兴趣的话。
/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash
是的,您可以使用chsh
或usermod
执行相同的操作,请记住这些只是结构化文本文件和 TIMTOWTDI。
答案3
如果chsh或者手动编辑配置不起作用,但在登录时执行 ~/.profile 脚本,添加此行:
exec /bin/bash --login