📜  在终端执行上一个命令添加 sudo - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:51:32.199000             🧑  作者: Mango

在终端执行上一个命令添加 sudo - Shell/Bash

当我们在终端执行一些命令时,有时会提示权限不足,需要使用管理员权限来执行该命令。这种情况下,我们可以在命令前面添加 sudo 关键字来获取管理员权限。但是,如果我们已经执行了一个命令,却忘记添加 sudo,这时该怎么办呢?下面介绍几种方法来在执行上一个命令时添加 sudo

法一:使用 sudo !!

在终端中,!! 代表上一个执行的命令。因此,我们可以在终端中输入 sudo !!,就可以以管理员权限再次执行上一个命令。

$ chmod a+x test.sh
chmod: changing permissions of 'test.sh': Operation not permitted

$ sudo !!
sudo chmod a+x test.sh
[sudo] password for user:
法二:使用 sudo $(history -p !!)

另一种可以在上一条命令中添加sudo的方法是使用 $(history -p !!),它会替换成上一个命令的完整命令字符串。也就是说,我们可以在终端中输入 sudo $(history -p !!),就可以以管理员权限执行上一个命令。

$ chmod a+x test.sh
chmod: changing permissions of 'test.sh': Operation not permitted

$ sudo $(history -p !!)
[sudo] password for user:
结论

在终端执行上一个命令添加 sudo 可以提高操作效率和管理员权限,以上介绍的两种方法都可以实现该功能。对于哪种方法更好,取决于个人偏好。然而,我们需要注意的是,使用 sudo 权限时,需要谨慎行事,以免意外删除或破坏文件系统中的文件。