Estoy tratando de establecer un alias para sudo !!
en bash. Probé alias sbb='sudo !!
‘, pero lo interpreta como un !!
literal e imprime
sudo: !!: command not found
Si utilizo comillas dobles, sustituye el doble toque en la propia cadena, por lo que no funciona.
¿Hay alguna manera de hacer funcionar esto? ¿O un alias alternativo?
`
Respuesta aceptada:
!!
es expandido por bash cuando lo escribes. No se expande por sustitución de alias.
Puedes usar el history
incorporado para hacer la expansión:
alias sbb='sudo $(history -p !!)'
Si el comando es más que un simple comando (por ejemplo, contiene redirecciones o canalizaciones), debe invocar un shell en sudo:
alias sbb='sudo "$BASH" -c "$(history -p !!)"'