对于大多数需要“是/否”答案的软件包,这对我来说工作的很好:
sudo apt-get install -y ....
但是,如果你需要一个让你接受许可证的包,你怎么自动同意呢?
例如,sun java:
sudo apt-get install -y sun-java6-bin sun-java6-jdk sun-java6-jre sun-java6-plugin
这要求我select确定,然后是的。
有一些方法可以做到这一点:
在安装前通过执行以下命令预先回答debconf
:
echo sun-java6-jdk shared/accepted-sun-dlj-v1-1 select true | \ /usr/bin/debconf-set-selections
使用expect
:
#!/usr/bin/expect -f sudo apt-get -y install sun-java6-jre expect "[y/n]" sleep 1 send -- "yes\r"