Handling input confirmations in Linux shell scripting

I'm writing a Linux Shell Script to automate a few things I'm doing on Ubuntu 11.04.

Basically, I'm writing a shell script to install NGINX, MySQL, and PHP, and then configure everything. I know how to do everything via the command-line.

However, I don't know how I'm going to handle the parts where the process asks for user input. For example, certain things I install with apt-get ask you for a confirmation ie (Y)es or (N)o.

How exactly would I handle auto-confirmation in the shell script ie to automatically confirm Yes or No when asked?


yes | ./script yes | ./script will answer y for everything.

Otherwise, write a script that prints the answers you want, eg:

 echo N
 echo Y
 echo Y

Usually you can call such interactive programs with an option to automatically answer yes to all questions. For instance, you can call apt-get with -y . From the man page :

-y, --yes, --assume-yes Automatic yes to prompts; assume "yes" as answer to all prompts and run non-interactively.


For Apt, the correct answer is to "preseed" your debconf database with the correct parameters. If Debconf finds the answer from its database, it won't ask. See also http://www.debian-administration.org/articles/394

链接地址: http://www.djcxy.com/p/25546.html

上一篇: bash选择菜单获取索引

下一篇: 在Linux shell脚本中处理输入确认