sudo !!
のエイリアスを設定しようとしています バッシュで。 alias sbb ='sudo !!
を試しました ‘ですが、それをリテラルの !!
として解釈します。 と印刷
sudo: !!: command not found
二重引用符を使用すると、文字列自体の二重引用符に置き換えられるため、機能しません。
これを機能させる方法はありますか?または代替エイリアス?
`
承認された回答:
!!コード> 入力するとbashによって展開されます。エイリアス置換によって拡張されません。
history
を使用できます 拡張を行うための組み込み:
alias sbb='sudo $(history -p !!)'
コマンドが単純なコマンド以上のものである場合(たとえば、リダイレクトやパイプが含まれている場合)、sudoでシェルを呼び出す必要があります:
alias sbb='sudo "$BASH" -c "$(history -p !!)"'