开发者

Handling input confirmations in Linux shell scripting

开发者 https://www.devze.com 2023-04-04 12:44 出处:网络
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开发者_

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开发者_如何学Go 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 i.e. (Y)es or (N)o.

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


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


Try Expect it might be what you are looking for.

0

精彩评论

暂无评论...
验证码 换一张
取 消