gpt4 book ai didi

linux - 在 (Bash/Docker RUN) 中以非交互方式自动回答 bash 命令的多个提示

转载 作者:行者123 更新时间:2023-12-02 09:38:29 27 4
gpt4 key购买 nike

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

RUN apt-get install -y nodejs
但我有这个案子我想跑
 dpkg --install someDebianpackage.deb && apt install --assume-yes --fix-broken
它实际上对它给出的即时提示回答 y 但在后期它要求我配置地理区域并回答 6
enter image description here
在那之后,我想用 20 来回答与时区对应的城市的命令
enter image description here
然后再次回答 31,然后 1 与上述相同,用于不同的问题。
我想知道的是以非交互式方式将此命令作为单个命令运行。 (我希望 制作一个 docker 文件 并将上述命令与其他一些可以与 && 链接的命令一起放在 中,例如 0x1091206 47 RUN 示例 57 RUN for RUN
RUN apt-get update && apt-get install sudo && "the above command along with their answers" && "some other command"
我非常感谢对此的一些指导

最佳答案

从技术上讲,您可以使用 expect 之类的工具自动回答提示。 .但是,这通常比让程序停止向您提问要困难得多。
我不确定为什么 apt 要求您提供时区,但我怀疑您以某种方式引入了 tzdata 包,它想配置您的时区。为避免这些问题,您应该将前端设置为非交互式:

To run dpkg (behind other tools like Apt) without interactivedialogue, you can set one environment variable as

DEBIAN_FRONTEND=noninteractive

( Source .)
在 Dockerfile 中,您可以像这样设置环境变量:
ENV DEBIAN_FRONTEND=noninteractive

关于linux - 在 (Bash/Docker RUN) 中以非交互方式自动回答 bash 命令的多个提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63273308/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com