Terminator mit zsh starten und automatisch "set -o ignoreeof" anwenden

Terminator mit zsh starten und automatisch "set -o ignoreeof" anwenden

Ich verwende Terminator zshals Shell:

terminator --command="/bin/zsh"

Darüber hinaus brauche ich eine andere Möglichkeit, den Terminator zu starten zshund sicherzustellen, dass das Fenster bei ctrl+ nicht geschlossen wird d.

set -o ignoreeofIch weiß, dass ich inside verwenden kann, .zshrcum ctrldas dVerlassen des Terminals zu verhindern. Aber das betrifft alle zshShells.

Ich möchte das nicht global ändern. Eine Möglichkeit, die meiner Meinung nach möglich wäre, besteht darin, zwei separate Konfigurationsdateien zu haben. Dann müsste ich jedoch zwei Dateien statt einer pflegen. Gibt es eine einfachere Möglichkeit, zshmit set -o ignoreeof„enabled“ zu beginnen? Vielleicht indem man dies als Option in der Befehlszeile angibt?

Antwort1

Sie haben Ihre Frage praktisch selbst beantwortet. Führen Sie einfach Folgendes aus:

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

Sehen:

info zsh Invocation

für Einzelheiten zum Aufrufen zsh.

Antwort2

Eine Möglichkeit hierfür besteht darin, terminatoreine Umgebungsvariable festzulegen (falls dies nicht bereits der Fall ist).

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

und dann in der ZSH-Konfigurationsdatei feststellen:

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

(Die obige Methode funktioniert nicht, wenn terminatordie Umgebung aus Sicherheitsgründen oder aus anderen Gründen bereinigt wird.)

verwandte Informationen