Automating Interactive script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Automating Interactive script
# 1  
Old 04-16-2009
Automating Interactive script

I have a script that will install software on all remote host. At the end of the script it starts the install.sh part and goes into a interactive mode asking Yes or No questions and prompting to add a username and password. My question is how can I script this so that these questions are answered automatically? Here is my script.

#!/bin/ksh
PATH=/usr/bin:/usr/sbin:/opt/local/bin:/usr/local/bin
PGM=`basename $0`
HOSTS=$1

[[ -z $HOSTS ]] && HOSTS="`grep -v \# /opt/local/etc/hosts|grep -i atl380g5test|nawk '{print $1}'`"

echo "$PGM: Installing Sophos AntiVirus Software"
for host in $HOSTS
do
printf "o PROCESSING HOST: %-20s\n" $host
ping $host 1>/dev/null 2>&1;
if (( $? )) ; then
echo "--Cannot contact host $host";
else
scp /admin/install.sophos.tar $host:/opt/install.sophos.tar
echo " --installing Sophos Antivirus software on $host"
ssh $host 'cd /opt/ ; tar -xvf install.sophos.tar; /opt/sofos/install.sh; rm -r install.sophos.tar
echo " The script will ask you a series of Y or N questions. press enter to start"
fi;
done

The scripts starts the install part then ask a series of questions I want to automate and need assistance with. thanks..

o you accept the licence? Yes(Y)/No(N) [N]
> Y
Where do you want to install Sophos Anti-Virus? [/opt/sophos-av]
> enter
Sophos Anti-Virus GUI is accessible at The UNIX and Linux Forums - Learn UNIX and Linux from Experts from your web browser.
You must now enter a username/password for Sophos Anti-Virus GUI. If you enter a blank password, the Sophos Anti-Virus GUI will be
disabled.

Username for Sophos Anti-Virus GUI? [admin]
>
Password for Sophos Anti-Virus GUI?
>test1
Re-enter the same password.
>test1


Do you want to enable remote management? Yes(Y)/No(N) [Y]
>
Do you want to enable on-access scanning? Yes(Y)/No(N) [Y]
ar'
# 2  
Old 04-16-2009
Unless your application installation accepts a noask file, and since multiple responses are needed (otherwise echo y | install.sh would do) probably your best bet is to use expect.
# 3  
Old 04-16-2009
MySQL

You may be able to use a co-process.

Check out: https://rz-static.uni-hohenheim.de/b...redir_korn.htm

Look under the section, coprocess facility. Hope that helps.
# 4  
Old 04-19-2009
You can also redirect input from the program "yes", which will output "y<newline" until the end of time.
# 5  
Old 04-20-2009
Can someone post some examples on this? thx
# 6  
Old 04-20-2009
"yes" is a Linux command everybody is suggesting you.

If you have not got yet, execute 'yes' in your terminal which will just print y indefinitely .. that is what you wanted.

yes | your-program

which will pipe the y to your-program required number of times. ??

Got it ?
# 7  
Old 04-20-2009
Quote:
Originally Posted by thegeek
"yes" is a Linux command everybody is suggesting you.

If you have not got yet, execute 'yes' in your terminal which will just print y indefinitely .. that is what you wanted.

yes | your-program

which will pipe the y to your-program required number of times. ??

Got it ?
Not everybody is suggesting "yes", because it wouldn't work in this particular case. If you look at the OP input, you'll notice that he needs to input different text other than just "yes"; it asks for a specific username and a password, a path. That is why I suggested expect.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Automating an interactive process with EOF string

Hello, I'm running Stockfish chess engine ( Home - Stockfish - Open Source Chess Engine ) CLI on Linux in interactive mode which is working fine. root@ubuntu1950x:~# ./stockfish Stockfish 080218 64 POPCNT by T. Romstad, M. Costalba, J. Kiiski, G. Linscott setoption name Debug Log File... (2 Replies)
Discussion started by: prvnrk
2 Replies

2. Shell Programming and Scripting

Automating Linux Script

I want to automate the creation or processing of the following: Directory and subdirectory creation for your scenario company Files in each of the directories Symbolic links from 2 subdirectories to their parent directories Setting appropriate file permissions for the directories and... (1 Reply)
Discussion started by: ekglag2
1 Replies

3. Shell Programming and Scripting

Automating Crontab through script??

is it possible to automate crontab through script... I ll be getting the data i.e. cron entries from DB. (5 Replies)
Discussion started by: nikhil jain
5 Replies

4. Shell Programming and Scripting

automating a perl script

Hi, I have a perl script that takes in 2 numerical values as ARGV. perl script.pl parameter1 num1 num2 in my case I have 1000's of num1 and num2. I can have them in separate files. Please let me know how to automate this run using shell scripting or using awk, so that I don't have to... (4 Replies)
Discussion started by: Lucky Ali
4 Replies

5. Shell Programming and Scripting

Help with automating a bash script

Hi Guys, There are some emails going deferred as we got some new IP's from our ISP. So I was trying to manually copy the deferred mail and forward it to our sales team so that they can contact our client. I am new to this script thing, but luckily I was able to write the code to extract the data... (1 Reply)
Discussion started by: linuxrulz
1 Replies

6. UNIX for Advanced & Expert Users

Automating Interactive password change

I have written the below scripts . ldap_pwd_prompt.ksh #!/usr/bin/ksh passwd -r ldap interactive_pwd_change.exp #!/usr/local/bin/expect set timeout 10 set curpass set newpass spawn ./ldap_pwd_prompt.ksh expect "Enter existing login password:" send "$curpass\r" expect "New... (6 Replies)
Discussion started by: dr46014
6 Replies

7. Homework & Coursework Questions

How to write script that behaves both in interactive and non interactive mode

Q. Write a script that behaves both in interactive and non interactive mode. When no arguments are supplied it picks up each C program from the directory and prints first 10 lines. It then prompts for deletion of the file. If user supplies arguments with the script , then it works on those files... (8 Replies)
Discussion started by: rits
8 Replies

8. Homework & Coursework Questions

Help with Interactive / Non Interactive Shell script

Q. Write a script that behaves both in interactive and non interactive mode. When no arguments are supplied it picks up each C program from the directory and prints first 10 lines. It then prompts for deletion of the file. If user supplies arguments with the script , then it works on those files... (1 Reply)
Discussion started by: rits
1 Replies

9. UNIX for Dummies Questions & Answers

cron ? automating a script

Hi all. basically i need to run a script every 30 minutes. my script is simply an error report: errpt thats it, is there anyway to make this happen every 30 minutes without having to type errpt in, the script will get bigger as i add more things to do but just need to know how to... (8 Replies)
Discussion started by: hassanj
8 Replies

10. Shell Programming and Scripting

Automating interactive scripts

Hi all, I am trying to write a program that will automate interactive scripts that use 'pkgadd'. Easily enough I can use 'pkgask' and a response file for most of what I want to do, but unfortunately there are parts of some pkg installations that are configured to only take input from /dev/tty!!... (2 Replies)
Discussion started by: bookoo
2 Replies
Login or Register to Ask a Question