我有一个简单的bash脚本连接到一系列服务器并更新特定的包,使用here-string来回答提示:
sudo /usr/bin/apt-get install package-name <<< Y
提示符是:
Configuration file /etc/package-name/package-name.conf
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : background this process to examine the situation
The default action is to keep your current version.
*** package-name.conf (Y/I/N/O/D/Z [default=N] ?
这是不起作用时的错误:
dpkg: error processing package-name (--configure):
EOF on stdin a conffile prompt
Errors were encountered while processing:
package-name
我无法在服务器上安装expect或任何其他程序。任何帮助将不胜感激。
答案 0 :(得分:8)
您应该传入dpkg
选项,以在提示符下指定此方案中的所需行为。然后它不会提示。
sudo apt-get -o DPkg::Options::="--force-confnew" -y install package-name
(未经测试;通过谷歌搜索获得。)
答案 1 :(得分:3)
如果查看apt-get手册页,您可以找到一个选项(-y)来回答“是”。为什么不试试呢。