どのように `エイリアスsudo!!`を行うことができますか?

どのように `エイリアスsudo!!`を行うことができますか?

sudo !!Bashでエイリアスを設定しようとしています。 'を試しましたが、alias sbb='sudo !!テキストとして解釈して !!印刷します。

sudo: !!: command not found

二重引用符を使用すると、文字列自体の二重感嘆符が変わるため、機能しません。

これを行う方法はありますか?それとも別のエイリアスですか? `

ベストアンサー1

!!入力すると bash によって拡張されます。エイリアス置換では拡張されません。

history内蔵機能を使用して拡張できます。

alias sbb='sudo $(history -p !!)'

コマンドが単純なコマンド以上の場合(リダイレクトやパイプなど)、sudoでシェルを呼び出す必要があります。

alias sbb='sudo "$BASH" -c "$(history -p !!)"'

おすすめ記事