我的目标是使用 bash 脚本文件卸载 PostgreSql(安装在 Linux 主机 - Ubuntu 18.04 LTS 上)。
我使用以下命令:
apt remove --purge -y postgresql-12 && apt autoremove -y
问题是,从终端启动它时,它会在某个时候打开一个确认窗口(您必须按回车键才能继续)。
因此,当我将此命令放入 bash 脚本文件中时,它会卡住(因为我认为它正在等待确认)。
我也尝试用“apt-get”代替“apt”,但没有任何变化。
我也尝试添加选项“-qq”或--assume-yes,但没有任何变化。
我该如何解决这个问题?
答案1
您需要将DEBIAN_FRONTEND
环境变量设置noninteractive
为man 7 debconf:
非交互式
这是反前端。它根本不会与您交互,并且所有问题都使用默认答案。它可能会向 root 发送错误消息,但仅此而已;除此之外,它完全是静默且不引人注目的,是自动安装的完美前端。如果您正在使用此前端,并且需要非默认的问题答案,则需要预先植入 debconf 数据库;有关更多详细信息,请参阅下面有关无人值守软件包安装的部分。