Crear un alias que contenga la expansión del historial de bash

Crear un alias que contenga la expansión del historial de bash

A menudo me olvido de ejecutar un comando con sudo, por lo que a menudo me encuentro escribiendo sudo !!inmediatamente después.

Intenté ponerle un alias a esto, pero bash se ahoga !!. ¿Hay alguna forma de representar este acceso directo dentro de un alias?

Respuesta1

AIUI, el problema es que las sustituciones del historial ( !!) se realizan antes de la sustitución de alias. No lo he probado a fondo, pero parece que fcpuede usarse para obtener lo que deseas:

alias sudothat='eval "sudo $(fc -ln -1)"'

Respuesta2

De un colega de trabajo:

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

parece hacer el truco

información relacionada