Impedir a execução de `exit`

Impedir a execução de `exit`

Quando executo o terminal no Pathfinder, digitar exité apenas um erro (bloqueia a janela por nada).

Como posso

  1. Descobrir que estou no Pathfinder
  2. Suprimir exitno Zshell se eu estiver no Pathfinder?

Responder1

exité um embutido dezsh. A maneira mais fácil de desativá-lo - ou qualquer outro comando - é criar um alias com o mesmo nome que não faça nada:

alias exit=

ou talvez imprima uma mensagem curta para ser um pouco mais informativa:

alias exit='echo "Sorry, but I cannot do that."'

Para executar isso automaticamente para sessões de shell dentro do Pathfinder, defina-o no campo "Executar comando" nas configurações do Pathfinder.


Observação:um alias sempre tem como escopo a sessão dezshem que foi definido. Não será transferido para nenhum outrozshsessão você inicia a partir daí, então exitainda funcionará normalmente nessas outras sessões. Além disso, os aliases definidos em uma sessão filha dozshnão será transferido para a sessão pai.

Isso também significa que você não pode simplesmente executar um script para definir aliases ou fazer qualquer outra alteração no ambiente shell atual. Mas você pode usar o sourcecomando para executar comandos de um script na sessão atual do shell.

Em vez de definir alias exit="Executar comando", você pode definir o seguinte (conforme observado em um comentário do OP):

source /path/to/some/script_with_settings

com /path/to/some/script_with_settingscontendo:

alias exit=

possivelmente entre outras coisas.

informação relacionada