Захватите терминальную гномом близкую кнопку

Я могу захватить exit команда от a gnome-terminal окно с помощью Bash trap команда, но это только работает, если пользователь вводит exit в окне терминала. Если пользователь нажимает близкую кнопку вместо этого, обработчик выходов прерывания не выполняется.

Справочная информация: Я хотел бы сохранить историю Bash в пользовательский файл истории, когда пользователь нажимает близкую кнопку. Я использовал export HISTFILE=/tmp/custom.hist, это работает во многих случаях (когда пользователь нажимает близкую кнопку в терминале гнома, история сохраняется в данный файл), но в некоторых случаях история не сохраняется, таким образом, я ищу альтернативы установке HISTFILE переменная среды..

3
задан 5 October 2015 в 14:56

2 ответа

Вы хотите захватить SIGHUP;

От man 7 signal:

SIGHUP        1       Term    Hangup detected on controlling terminal or death of controlling process

Таким образом захватывать и SIGHUP и ВЫХОД:

trap 'export HISTFILE=/tmp/custom.hist' 1 EXIT

или:

trap 'export HISTFILE=/tmp/custom.hist' SIGHUP EXIT
1
ответ дан 1 December 2019 в 17:01

Вы могли сохранить файл истории после каждой команды. Этот прием обычно используется для синхронизации истории для нескольких окон, но работал бы в случае. Посмотрите, например, этот ответ

1
ответ дан 1 December 2019 в 17:01

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

Похожие вопросы: