Как я выполняю команду прежде или после каждой команды, записанной в консоли?

Я хочу выполнить команду прежде и после каждой команды, которая выполняется в терминале (т.е. clear прежде и затем reset). Я хочу, чтобы это произошло автоматически а не с коротким псевдонимом или подобный.

Я изучил bashrc и/usr/share/bash-completion/bash_completion хотя последний, кажется, только для автоматической функции завершения с Вкладкой?

Где я должен внести свои изменения?

4
задан 24 November 2016 в 15:55

1 ответ

В Вашем .bashrc:

function process_command() {
  ... do something with $BASH_COMMAND ...
}
trap process_command DEBUG

Для хорошего примера видят" , Заставляют терминал гнома показать команду, работающую заголовком " на AskUbuntu.

Для решения запроса исходного плаката для выполнения clear перед командой и reset после команды добавьте к .bashrc:

function before_command() { 
  case "$BASH_COMMAND" in
        $PROMPT_COMMAND)
          ;;
       *)
          clear;
  esac
}

function before_prompt() { reset ; }

trap before_command DEBUG
PROMPT_COMMAND=before_prompt

В man bash ищут PROMPT_COMMAND и trap .-lp.

6
ответ дан 1 December 2019 в 09:21

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

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