创建包含 bash 历史扩展的别名

and*_*ich 9 sudo bash alias bash-alias

我经常忘记用 sudo 运行命令,所以我发现自己经常sudo !!在之后立即打字。

我试过别名这个,但 bash 扼杀了这一!!部分。有没有办法在别名中表示这个快捷方式?

Gor*_*son 11

AIUI 的问题是历史替换 ( !!) 在别名替换之前完成。我还没有彻底测试过,但看起来fc可以用来得到你想要的:

alias sudothat='eval "sudo $(fc -ln -1)"'
Run Code Online (Sandbox Code Playgroud)


and*_*ich 7

来自工作中的同事:

alias sa='sudo `history -p \!\!`'
Run Code Online (Sandbox Code Playgroud)

似乎可以解决问题