Добавление суффикса в конце каждой команды оболочки

6

Можно ли автоматически добавлять некоторые символы в конце каждой команды, введенной в терминал.

Например, если я пишу

sudo apt-get update

оболочка выполнит

sudo apt-get update && notify-send Done

без записи && notify-send Done .

Спасибо заранее!

    
задан ioanD 09.07.2015 в 19:29
источник

2 ответа

6

Если вы используете bash в качестве своей оболочки по умолчанию, вы можете установить PROMPT_COMMAND .

На странице bash man:

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

Поэтому просто вставьте следующую строку в свой файл .bashrc , чтобы получить уведомление для каждой команды:

PROMPT_COMMAND="notify-send Done"

Итак, каждый раз, когда вы вызываете приглашение bash (нормальное поведение, когда команда завершена, с успехом или нет), вы получите уведомление.

Примечание : вы также будете уведомлены, если вы нажмете только Enter , когда приглашение снова появится.

    
ответ дан Sylvain Pineau 09.07.2015 в 20:03
источник
0

Вы можете связать некоторые символы с ключом enter :

$ bind '"\C-M":" && echo test\n"'

Это имеет некоторые недостатки, например, если вы просто нажмете Enter:

-bash: syntax error near unexpected token '&&'

Вы можете заблокировать этот эффект, завершив свои строки символом # - он превратит прилагаемый текст в безобидный комментарий.

Я бы сказал, что это звучит очень плохо.

    
ответ дан Nykakin 10.07.2015 в 17:46