Criando um alias contendo expansão do histórico bash

6

Muitas vezes esqueço de executar um comando com o sudo, por isso me vejo escrevendo sudo !! imediatamente depois.

Eu tentei aliasing isso, mas o bash engasga com a parte !! . Existe alguma maneira de representar esse atalho dentro de um alias?

    
por andrewdotnich 01.02.2011 / 01:41

2 respostas

7

AIUI o problema é que as substituições de histórico ( !! ) são feitas antes da substituição de alias. Eu não testei isso completamente, mas parece que fc pode ser usado para conseguir o que você quer:

alias sudothat='eval "sudo $(fc -ln -1)"'
    
por 01.02.2011 / 02:08
4

De um colega de trabalho:

alias sa='sudo 'history -p \!\!''

parece fazer o truque

    
por 01.02.2011 / 03:09