Linux 在(bash/Docker运行)中以非交互方式自动应答bash命令的多个提示

Linux 在(bash/Docker运行)中以非交互方式自动应答bash命令的多个提示,linux,bash,docker,docker-compose,dockerfile,Linux,Bash,Docker,Docker Compose,Dockerfile,有一些方法可以在bash命令中自动回答-y,例如 RUN apt-get install -y nodejs RUN apt-get update && apt-get install sudo && "the above command along with their answers" && "some other command" 但我有个案子我想办 dpkg --install someDebi

有一些方法可以在bash命令中自动回答-y,例如

RUN apt-get install -y nodejs
RUN apt-get update && apt-get install sudo && "the above command along with their answers" && "some other command"
但我有个案子我想办

 dpkg --install someDebianpackage.deb && apt install --assume-yes --fix-broken
它实际上会对y的即时提示进行应答,但在稍后的阶段,它会要求我使用应答6配置地理位置

在那之后,我想用20来回答这个命令,对应于时区的城市

对于不同的问题,再次回答31,然后回答1,同上

我想知道的是以非交互方式作为单个命令运行此命令。(我希望制作一个docker文件,并将上面的命令与其他一些命令放在一起,这些命令可以在运行命令中链接到
&&

RUN apt-get install -y nodejs
RUN apt-get update && apt-get install sudo && "the above command along with their answers" && "some other command"

我非常感谢您对此提供一些指导

从技术上讲,您可以使用类似的工具自动回答提示。但是,这通常比让程序停止向您提问要困难得多

我不知道apt为什么要询问您的时区,但我怀疑您以某种方式引入了tzdata包,该包希望配置您的时区。为了避免这些问题,您应该将前端设置为非交互式:

运行
dpkg
(在其他工具(如Apt)后面)而无需交互 对话框中,可以将一个环境变量设置为

DEBIAN_FRONTEND=noninteractive
()

在Dockerfile中,可以设置如下环境变量:

ENV DEBIAN_FRONTEND=noninteractive

问你这些答案的具体命令是什么?你真的有一个Dockerfile草图可以共享吗?我用我试图运行的内容更新了这个问题。它与下面@Nick的答案一起工作,以DEBIAN_FRONTEND=noninteractive apt install的形式运行命令——假设是xfce4 desktop base非常感谢!