当命令没有足够的权限时如何自动显示 sudo 提示

当命令没有足够的权限时如何自动显示 sudo 提示

如果我有一个文件

$ touch some_file.txt

我想将其移动到需要sudo权限的目录

$ cp some_file.txt /usr/local/bin

我收到一个错误:

cp: cannot create regular file ‘/usr/local/bin/some_file.txt’: Permission denied

然后我必须在命令前加上前缀sudo才能让它起作用

$ sudo cp some_file.txt /usr/local/bin

如何在执行需要权限的命令时自动获取 sudo 密码提示?

就像是:

$ cp some_file.txt /usr/local/bin
cp: cannot create regular file ‘/usr/local/bin/some_file.txt’: Permission denied
Please enter sudo password:
************ # Entering my password
# Command executed successfully

答案1

虽然这可能是可行的,但这是一个非常非常糟糕的主意。这会鼓励你盲目地做事,sudo而不是调查为什么您没有权限,您实际上想做什么。在某些情况下,这可能会导致您sudo在不必要的地方使用,例如,可能导致您更改配置文件的所有权等。

您不必盲目地询问sudo密码,而是可以使用 bash 的历史快捷方式并运行:

sudo !!

扩展!!为您运行的上一个命令。例如:

$ whoami
terdon
$ sudo !!
sudo whoami
root

这样至少你可以看到发生了什么。它只比你要求的稍微复杂一点,而且更安全一点。

相关内容