Adicionando um sufixo no final de cada comando do shell

6

É possível adicionar automaticamente alguns caracteres no final de cada comando digitado no terminal.

Por exemplo, se eu escrever

sudo apt-get update

o shell será executado

sudo apt-get update && notify-send Done

sem que eu escreva a parte && notify-send Done .

Obrigado antecipadamente!

    
por ioanD 09.07.2015 / 19:29

2 respostas

6

Se você estiver usando bash como seu shell padrão, poderá definir PROMPT_COMMAND .

Na página bash man:

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

Portanto, cole a seguinte linha no seu .bashrc para obter uma notificação para cada comando:

PROMPT_COMMAND="notify-send Done"

Assim, cada vez que seu prompt do bash é chamado (comportamento normal quando um comando é concluído, com sucesso ou não), você receberá uma notificação.

Nota : você também será notificado se pressionar Enter quando o prompt for exibido novamente.

    
por Sylvain Pineau 09.07.2015 / 20:03
0

Você pode vincular alguns caracteres a uma tecla enter :

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

Isso tem algumas desvantagens, por exemplo, se você pressionar Enter:

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

Você pode bloquear este efeito encerrando suas linhas com o caractere # - transformará o texto anexado em um comentário inofensivo.

Ainda assim, eu diria que isso parece uma péssima ideia.

    
por Nykakin 10.07.2015 / 17:46