Terminal

使用 zsh 啟動終結器,並自動應用“set -o ignoreeof”

  • September 26, 2016

我使用終結器zsh作為我的外殼:

terminator --command="/bin/zsh"

此外,我需要另一種方法來啟動終止符zsh並確保視窗不會在ctrl+上關閉d

我知道我可以使用set -o ignoreeofinside.zshrc來防止ctrl+d退出終端。但這會影響所有zsh貝殼。

我不想在全球範圍內改變這一點。我認為可能的一種方法是擁有兩個單獨的配置文件。但是,我將不得不維護兩個文件而不是一個。有沒有更簡單的方法從zsh啟用開始set -o ignoreeof?也許將其指定為命令行上的選項?

你實際上回答了你自己的問題。趕緊跑:

terminator --command='/bin/zsh -o ignoreeof'

看:

info zsh Invocation

有關如何呼叫的詳細資訊zsh

一種方法是terminator設置一些環境變數(如果還沒有)

env HI_IMA_TERMINATOR=1 terminator --command="/bin/zsh"

然後在 ZSH 配置文件中檢測:

if [[ -n $HI_IMA_TERMINATOR ]]; then
   set -o ignoreeof
fi

terminator(如果出於安全或其他原因清理 env,上述方法將無法執行。)

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