J'essaie de définir un alias pour sudo !!
à Basch. J'ai essayé alias sbb='sudo !!
', mais il interprète cela comme un !!
et impressions
sudo: !!: command not found
Si j'utilise des guillemets doubles, cela remplace le double bang dans la chaîne elle-même, donc cela ne fonctionne pas.
Y a-t-il un moyen de faire fonctionner cela? Ou un autre alias ?
`
Réponse acceptée :
!!
est développé par bash lorsque vous le tapez. Il n'est pas développé par la substitution d'alias.
Vous pouvez utiliser l'history
intégré pour faire l'expansion :
alias sbb='sudo $(history -p !!)'
Si la commande est plus qu'une simple commande (par exemple, elle contient des redirections ou des canaux), vous devez invoquer un shell sous sudo :
alias sbb='sudo "$BASH" -c "$(history -p !!)"'