Bash 出现在 zsh 上,为什么?

Bash 出现在 zsh 上,为什么?

我目前从 bash 切换到 zsh,但是,当我输入错误的命令时,而不是zsh:<wrong-command>: command not found,出现了bash: <wrong-command>: command not found一些奇怪的情况,我该如何解决这个问题?

我使用 改变了我的外壳chsh $USER

那个奇怪的东西的照片—— 奇怪的重击事情

答案1

Bash 不会出现在 ZSH 中。
如果它告诉您bash […],则意味着您正在运行 Bash。

您可以尝试以下几种方法:

  • 了解您的(默认)登录 shell(以检查您是否chsh有效):
    echo $SHELLcat /etc/passwd | grep $USER.
    有时这两个命令临时不会给您相同的答案。
  • 如果不是/bin/zsh/usr/bin/zsh,您可以使用 进行更改chsh
    它会更改默认值,但有时可能不会立即应用。
    如果它不起作用(例如,仍然echo $SHELL告诉您/bin/bash),
    请尝试注销/登录或重新启动计算机,然后重试。
  • 了解您现在使用的 shell:echo $0ps -p $$
  • (Bash VS ZSH)运行与 Bash 和 ZSH 行为不同的命令来了解您正在使用的命令,
    例如echo "\!" :输出是!使用 ZSH 和\!使用 Bash。
  • 现在从任何其他 shell 使用 ZSH(例如,从当前的 Bash 转到 ZSH)exec zsh:。
  • 在某些终端上,例如 Guake(带有Preferences > Shell > Default interpreter),您可以仅为该终端选择另一个默认 shell,与您的登录名不同。检查一下你是否做过类似的事情。
  • 如果您使用 TMUX,则可以运行命令(使用Ctrl+b+ :
    set default-shell /usr/bin/zsh。它应该是立即的:只需在同一会话中打开另一个窗格,这个窗格将使用 ZSH。

相关内容