bash 履歴拡張を含むエイリアスを作成する

bash 履歴拡張を含むエイリアスを作成する

sudo を使ってコマンドを実行するのを忘れることが多いので、実行sudo !!直後に入力してしまうことがよくあります。

これをエイリアス化しようとしましたが、bash がその!!部分で失敗します。エイリアス内でこのショートカットを表す方法はありますか?

答え1

AIUI の問題は、履歴置換 ( !!) がエイリアス置換の前に実行されることです。これを徹底的にテストしたわけではありませんが、fc必要な結果を得るには次のように使用できるようです。

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

答え2

職場の同僚から:

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

効果があるようだ

関連情報