无输入地运行bash脚本

时间:2012-07-06 15:00:31

标签: bash shell unix

我编写了一个安装了许多软件包的bash脚本,但是对于每个连续的软件包安装,我都会使用以下消息进行升级:

After this operation, 1,006 kB of additional disk space will be used.  
Do you want to continue [Y/n]? 

有没有办法将默认值设置为Y,因此不需要用户输入?我的剧本预计会在晚上没有任何干预的情况下运行

提前致谢

2 个答案:

答案 0 :(得分:13)

我想到了两种方法。第一个(也是更好的选择)是使用包管理器中的选项。例如:

apt-get install -y [YOUR_PACKAGE]

如果您使用apt(请输入apt-get install --help以获得更多帮助)。

第二个更像是一个快速肮脏的......在yes之后使用管道:

yes | apt-get install [YOUR_PACKAGE]

总是让我脸上露出笑容:p

后一个选项也对所有其他问题回答“是”,这可能很方便(错误等),但可能存在风险(这就是首先出现这些问题的原因!)

答案 1 :(得分:4)

我认为该消息看起来像是在使用apt-get。

在这种情况下,您可以使用标记--assume-yes或更短的-y,该标记应自动对该问题回答“是”而不提示用户