在脚本中安装/删除内容时从 apt-get 中删除用户交互

Dea*_*ean 8 apt

我有一个删除 libreoffice 并安装 openoffice 的脚本,如何让 apt-get 停止要求用户确认此操作?我只希望在脚本中发生这种情况,所以我应该使用哪些开关?我还想减少输出,以免堵塞控制台。

And*_*ini 14

您需要使用apt-get --yes. 引用手册页 ( man apt-get):

-y, --yes,--assume-yes

自动是对提示;假设“是”作为对所有提示的回答并以非交互方式运行。如果发生不良情况,例如更改保留的软件包、尝试安装未经身份验证的软件包或删除必要的软件包,则 apt-get 将中止。配置项: APT::Get::Assume-Yes.

例如:

apt-get install --yes gedit
Run Code Online (Sandbox Code Playgroud)

要减少输出,您可以将其重定向到/dev/null(仅显示错误):

apt-get install --yes gedit > /dev/null
Run Code Online (Sandbox Code Playgroud)

为了使它产生零输出(甚至没有打印错误):

apt-get install --yes gedit &> /dev/null
Run Code Online (Sandbox Code Playgroud)

然后,如果出现问题,您将能够在/var/log/apt.