Terminal

從 bashrc 啟動 Fish 終端會破壞標準終端輸入

  • November 5, 2019

我添加了一個命令來啟動魚終端,bashrc到目前為止它工作正常。我剛剛在 bashrc 的末尾添加了這一行

fish

但是在我退出 fish 到預設 shell 之後,目前輸入不再顯示,儘管按 enter 將解釋輸入的任何內容。有沒有其他方法可以在不影響標準輸入流的情況下自動啟動fish?

當您退出fishshell 會話時,bash正在啟動但在執行時“暫停”的 shell 將fish繼續執行。無論出於何種原因,它都會使終端處於混亂狀態(嘗試resetstty sane修復它)。

如果您總是想執行fishshell 而不是bash,那麼只需將登錄 shell 更改為fish. 您可以chsh在大多數 Unices 上使用該命令執行此操作。

如果這是不可能的,那麼不要僅僅fish從你的~/.bashrc文件中執行,而是從文件exec fish開頭的某個地方使用。這將用shell 會話替換任何互動式shell會話,並且當您退出會話時,您不會留在會話中。bash``fish``fish``bash

引用自:https://unix.stackexchange.com/questions/549601