我一直&
在某些命令的末尾使用 来释放终端。但是,如果它需要 sudo,它就不起作用。我可以通过在此命令之前运行随机 sudo 命令来解决这个问题,但这很麻烦,我也可以在命令中输入密码,但这不安全。有没有其他方法可以让这些命令正常工作。
谢谢。
答案1
本质上,你正在做的是使用 将命令放入后台&
。有一种手动方法可以做到这一点。以下是一个例子sudo apt-get update
sudo apt-get update
照常运行,输入密码。- 命令启动后,按Ctrl+Z暂停进程
- 运行
bg
命令将停止的作业放入后台。
注意,输出仍会显示到stdout
。如果没有必要,可以使用&> /dev/null
附加到命令的重定向来隐藏输出。
另一种方法是使用 sudo 权限运行 shell,然后使用-c
标志运行命令,如下所示:
sudo bash -c 'apt-get update &>/dev/null & '