用“sudo”重复上一个命令

我经常忘记用sudo运行命令。 我正在寻找一种方法来使用sudo重复最后一个命令的bash函数(或别名)。 就像是:

 S() { sudo $(history 1) } 

有任何想法吗?

你可以写:

 sudo !! 

(请参阅Bash参考手册中的第9.3节“历史扩展” 。)

不够?

 sudo !! 

如果你想S简单地说:

 alias S=sudo 

并使用它

 S !! 

!! 意味着last command

!! 可以用来引用最后一个命令。 所以:

 sudo !! 

使用alias redo='sudo $(history -p !!)' 。 这是我发现的唯一与别名一起工作的东西。 其他答案由于某种原因不能在别名中使用,即使在直接运行它们的情况下也能正常工作。