On Thu, 2006-06-29 at 12:18 -0500, Les Mikesell wrote: > On Thu, 2006-06-29 at 17:37 +0100, Chris Bradford wrote: > > > > > Any ideas as to why this: > > > > echo -n "Would you like to configure SophosAV: (type yes/no) " > > read ANSWER > > > > if [ $ANSWER = yes -o YES ] Chris, the problem is here ^^^^^^^^^^^^ if [ $ANSWER = "yes" -o $ANSWER = "YES" ] would likely work. Note that $ANSWER is a string and must be compared to a string value. in this context "yes" is a string but yes is not a string. You also must make the comparison test in each case, both before and after the -o above. Your construct would ask " does $ANSWER = yes evaluate to true?" OR "is YES true?". This is two different questions and does not get what I think you intended as a result. Les' answer below would also accept a single key response. > > then > > echo 'good' > > echo 'Enter script to run here....' > > > > else > > echo 'bad' > > echo 'Carry on to next part of current script...' > > fi > > > > Does not work? > > You might find this construction easier: > > read ANSWER > > case $ANSWER > in > [Yy]*) > echo 'good' > echo 'Enter script to run here....' > ;; > *) > echo 'bad' > echo 'Carry on to next part of current script...' > ;; > esac > > It's a little easier to write and much easier to add additional choices. > Note that unlike C, you don't fall through after a match. > > -- > Les Mikesell > lesmikesell@xxxxxxxxx > > >