Bash

我的終端中以非零程式碼退出的任何命令都會關閉我的終端視窗

  • November 28, 2017

起初這有點好笑,就像玩“Bash Roulette”……但現在它變老了,哈哈

我的終端中以非零程式碼退出的任何命令都會關閉我的終端視窗

有人告訴我,也許我set -e在終端來源的某個地方設置了一些 bash 腳本。

我已經檢查過.bash_profile// .bashrc.profile它看起來不像set -e在裡面。

還有其他明顯的罪魁禍首嗎?

好吧,確實是一個任性set -e給我惹了麻煩。

我發現的方式set -e是使用bash -lx

最好的辦法是使用:

bash -lx > lx.log 2>&1

然後打開該日誌文件並蒐索set

一旦你發現那個任性,set -e你可以刪除那條線,你的問題應該消失了!(機器重啟可能是個好主意)。

就我而言,它set -e位於 .bash_profile 來源的文件中,但該行不在 .bash_profile 本身中。

如果您只是想解決問題,set +e請在結尾.bashrc處包含- 。

你可以去探勘——可能還有很多其他的地方set -e——但這會解決很多問題。

但是,如果它set -e是您的一部分,$PROMPT_COMMAND則上述內容將不起作用。試著printf '%s\n' "$PROMPT_COMMAND"看看裡面有什麼。

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