如何编写脚本来sudo最后一个命令

Dag*_*ang 4 linux sudo bash

通常,对于某些命令,例如apt-get install xxx,我忘记先添加sudo,然后需要重新键入它。我想要的是在这种情况下,我只需输入一个简单的命令,例如resudo. 它将 sudo 我的最后一个命令sudo apt-get install xxx。在 bash 中可能吗?

peo*_*oro 19

您可以只使用 bash's !!:它是重新运行最后一个命令的快捷方式。

sudo !!
Run Code Online (Sandbox Code Playgroud)

无论如何,bash 为任何事情提供了许多快捷方式,您只需按向上箭头(为了取回最后输入的行),然后按^AHome并在sudo那里添加。

这是一个有用的 bash 备忘单

  • @Todd:历史扩展(通常)在脚本中被禁用,因为它没有任何意义。请记住脚本在子shell 中运行,因此如果您可以在脚本中使用`!!`,它会扩展到该脚本的前一行,而不是运行该脚本的用户所做的最后一件事。如果您想为 `sudo !!` 做一个简写,请参阅 [我的回答](http://superuser.com/questions/240180/creating-an-alias- contains-bash-history-expansion/240193 #240193) 了解如何创建 shell 别名来执行此操作。 (4认同)