inicia o terminator com zsh e aplica automaticamente “set -o ignoreeof”

3

Estou usando o terminador com zsh como meu shell:

terminator --command="/bin/zsh"

Adicionalmente, eu preciso de outra maneira de iniciar o terminador com zsh e ter certeza de que a janela não fecha em ctrl + d .

Eu sei que posso usar set -o ignoreeof dentro de .zshrc para evitar que ctrl + d saia do terminal. Mas isso afetará todos os zsh shells.

Eu não quero mudar isso globalmente. Uma maneira que eu acho que seria possível, é ter dois arquivos de configuração separados. Mas do que eu teria que manter dois arquivos em vez de um. Existe uma maneira mais simples de iniciar zsh com set -o ignoreeof ativado? talvez especificando isso como uma opção na linha de comando?

    
por Martin Vegter 26.09.2016 / 15:26

2 respostas

3

Você praticamente respondeu sua própria pergunta. Basta executar:

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

Veja:

info zsh Invocation

para detalhes sobre como invocar zsh .

    
por 26.09.2016 / 17:19
0

Uma maneira de fazer isso é ter terminator definido algumas variáveis de ambiente (se ainda não existir)

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

e, em seguida, detecta isso no arquivo de configuração do ZSH:

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

(O método acima não voará se terminator limpar o env por segurança ou por outros motivos.)

    
por 26.09.2016 / 16:44