从 bashrc 启动 Fish 终端会破坏标准终端输入

从 bashrc 启动 Fish 终端会破坏标准终端输入

我添加了一个命令来启动鱼终端,到目前为止bashrc它工作正常。我刚刚在 bashrc 的末尾添加了这一行

fish

但是,在我将 Fish 退出到默认 shell 后,当前输入不再显示,尽管按 Enter 键将解释输入的任何内容。有没有其他方法可以在不影响标准输入流的情况下自动启动fish?

答案1

当您退出fishshell 会话时,bash正在启动但在运行时“暂停”的 shellfish将继续运行。无论出于何种原因,它都会使终端处于混乱状态(尝试resetstty sane修复该问题)。

如果您总是想运行fishshell 而不是bash,那么将登录 shell 更改为 会更容易fish。您可以使用chsh大多数 Unices 上的命令来执行此操作。

如果这是不可能的,那么不要只fish从文件中运行,而是从文件开头的某个位置~/.bashrc使用。exec fish这个会代替任何交互式bashshell 会话都带有fishshell 会话,并且当您退出fish会话时,您不会留在bash会话中。

答案2

您可以运行stty sanereset以使您的终端恢复到您期望的状态。

.bashrc您可以将终端配置为启动fish而不是登录 shell,而不是从底部运行。

相关内容