Остановить `выход` из бега

Когда я запускаю терминал в Pathfinder, набираю exit это просто ошибка (блокирует окно ни за что).

Как я могу

  1. Выяснить, я в Pathfinder
  2. пресекать exit в Zshell, если я нахожусь в Pathfinder?

1 ответ

Решение

exit это встроенный из зш. Самый простой способ отключить его - или любую другую команду - это создать псевдоним с тем же именем, который ничего не делает:

alias exit=

или, может быть, напечатает короткое сообщение, чтобы быть немного более информативным:

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

Чтобы запустить это автоматически для сеансов оболочки внутри Pathfinder, установите его в поле "Выполнить команду" в настройках Pathfinder.


Примечание: псевдоним всегда ограничен сеансом zsh, в котором он был определен. Он не будет перенесен на любую другую сессию zsh, которую вы начинаете оттуда exit все еще будут работать нормально эти другие сессии. Кроме того, псевдонимы, установленные в дочернем сеансе zsh, не будут перенесены в родительский сеанс.

Это также означает, что вы не можете просто запустить скрипт, чтобы установить псевдонимы или внести другие изменения в текущую среду оболочки. Но вы можете использовать source команда для выполнения команд из скрипта в текущем сеансе оболочки.

Вместо настройки alias exit= в "Выполнить команду" вы можете установить следующее (как отмечено в комментарии ОП):

source /path/to/some/script_with_settings

с /path/to/some/script_with_settings содержащий:

alias exit=

возможно среди прочего.

Другие вопросы по тегам