对于大多数需要回答是/否的包来说,这对我来说很好:
sudo apt-get install -y ....
但是如果您需要一个让您接受许可证的软件包,您如何自动同意这一点?
例如,sun java:
sudo apt-get install -y sun-java6-bin sun-java6-jdk sun-java6-jre sun-java6-plugin
这要求我选择“确定”,然后选择“是”。
答案1
有一些方法可以做到这一点:
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"
答案2
对于任何包,您都可以使用
apt-get -y install <package> << 'EOF'
ok
EOF
如果你有多个步骤,例如
1. Ok in step 1
2. Enter Option 1/2
3. y/n
apt-get -y install <package> << 'EOF'
ok
1
y
EOF