Произошло ли событие сразу после завершения выполнения команды?


1

В Bash после ввода команды (например, ls) она выполнит команду, которая запишет свой стандартный вывод (если не перенаправлен) в терминал (в нашем примере содержимое текущего каталога). После того, как это сделано, элемент управления возвращается пользователю с приглашением оболочки в новой строке.

Мне интересно, есть ли какое-то событие, инициированное сразу после завершения выполнения команды и до запуска командной строки в новой строке, которая может быть захвачена программно (например, с помощью сценария оболочки).

Ответы:


0

Если вы установите переменную оболочки PROMPT_COMMANDдля команды, то эта команда будет выполняться каждый раз, когда оболочка собирается выдать (основной) запрос. Например,

% ls
file1
file2
% PROMPT_COMMAND=date
Thu, Nov 20, 2014  1:23:42 PM
% ls
file1
file2
Thu, Nov 20, 2014  1:23:45 PM
%

Это может быть программа, скрипт или что угодно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.