zshでターミネータを起動し、「set -o ignoreeof」を自動的に適用します。

zshでターミネータを起動し、「set -o ignoreeof」を自動的に適用します。

zsh私はシェルとしてターミネーターを使用しています:

terminator --command="/bin/zsh"

zshさらに、ターミネーターを起動して、ウィンドウがctrl+で閉じないようにするための別の方法も必要ですd

set -o ignoreeofinside を使用すると、ターミナルから+ が終了しない.zshrcようにできることはわかっています。ただし、これはすべてのシェルに影響します。ctrldzsh

これをグローバルに変更したくありません。 可能と思われる 1 つの方法は、2 つの個別の構成ファイルを用意することです。 ただし、その場合、1 つのファイルではなく 2 つのファイルを管理する必要があります。有効zshにして開始するより簡単な方法はありますかset -o ignoreeof? おそらく、これをコマンドラインのオプションとして指定するのでしょうか?

答え1

事実上、あなたは自分の質問に答えたことになります。次のコマンドを実行してください:

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

見る:

info zsh Invocation

呼び出す方法の詳細については、 を参照してくださいzsh

答え2

これを行う1つの方法は、terminator環境変数を設定することです(まだ設定されていない場合)。

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

次に、ZSH 構成ファイルでそれを検出します。

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

(上記の方法は、terminatorセキュリティやその他の理由で env をクリーンアップする場合は機能しません。)

関連情報