Erstellen eines Alias ​​mit Bash-Verlaufserweiterung

Erstellen eines Alias ​​mit Bash-Verlaufserweiterung

Ich vergesse häufig, einen Befehl mit „sudo“ auszuführen und ertappe mich daher häufig dabei, ihn sudo !!unmittelbar danach einzutippen.

Ich habe versucht, dies mit einem Alias ​​zu versehen, aber Bash scheitert an diesem !!Teil. Gibt es eine Möglichkeit, diese Abkürzung in einem Alias ​​darzustellen?

Antwort1

Soweit ich weiß, besteht das Problem darin, dass Verlaufsersetzungen ( !!) vor der Aliasersetzung durchgeführt werden. Ich habe das nicht gründlich getestet, aber es sieht so aus, als ob fcman damit das erreichen kann, was man will:

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

Antwort2

Von einem Arbeitskollegen:

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

scheint zu funktionieren

verwandte Informationen