如果我有一个文件
$ 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
这样至少你可以看到发生了什么。它只比你要求的稍微复杂一点,而且更安全一点。