Запустите скрипт удара каждый раз, когда командные строки будут выполняться

Я - новая Ubuntu/пользователь Linux, я хотел бы задать вопрос как свой заголовок выше.

Например, у меня есть файл удара ./script, Я хотел бы заставить его работать автоматически, когда я ввожу любую командную строку. После того как я выполняю командную строку pwd затем ./script будет выполняться. После того как я ввожу следующую командную строку ls -la затем ./script будет выполняться снова.

9
задан 3 October 2016 в 04:19

2 ответа

Необходимо установить PROMPT_COMMAND переменная. От man bash:

PROMPT_COMMAND
              If set, the value is executed as a command prior to
              issuing each primary prompt.

, Например, это запишет текущую дату в /tmp/PC каждый раз, когда команда выполняется:

 $ PROMPT_COMMAND="date > /tmp/PC"
13
ответ дан 23 November 2019 в 04:47

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

, Например, устанавливает его как:

export PROMPT_COMMAND='/path/to/script'

Делают сценарий, /path/to/script, исполняемый файл сначала.

Теперь скрипт будет запущен после каждой команды.

Только для замечания, если Вы не хотите, чтобы переменная была экспортирована, т.е. делаете ее переменной оболочки вместо среды один, отбрасываете export:

PROMPT_COMMAND='/path/to/script'

От man bash:

PROMPT_COMMAND 
If set, the value is executed as a command prior to issuing each primary prompt.
11
ответ дан 23 November 2019 в 04:47

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

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