The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
sh -help with case statement (should be simple) kuliksco Shell Programming and Scripting 1 11-19-2007 06:04 PM
Case statement problem gzs553 UNIX for Advanced & Expert Users 6 11-14-2006 12:24 PM
turning case into a if statement brentdeback Shell Programming and Scripting 2 12-02-2005 08:12 PM
Case Statement Zeta_Acosta Shell Programming and Scripting 19 04-06-2004 01:16 PM
case statement Bab00shka Shell Programming and Scripting 1 07-15-2002 02:31 AM

Reply
 
Submit Tools LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-11-2007
Registered User
 

Join Date: Jul 2007
Posts: 53
case statement

hi all
i'm writing a script and in it i need to prompt the user if the entered value is correct or not ,i wrote the following and its not working ,its executing the script even if i enter Y/N

pls any help is appreciated

echo "\nAre you sure you entered the right Destination Environment? y[n] : \c \n"
read ans
case ${ans} in
y/Y)
*);;
esac
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 09-11-2007
Registered User
 

Join Date: Jan 2007
Posts: 2,965
the format is wrong

Code:
case "$ans" in
y | Y )
      echo yes
      ;;
* )
      echo default
      ;;
esac
Reply With Quote
  #3 (permalink)  
Old 09-11-2007
Registered User
 

Join Date: Jul 2007
Posts: 53
case statement

thnks for the reply ,but like i said even if i enter N ,the script is still running
Reply With Quote
  #4 (permalink)  
Old 09-11-2007
Registered User
 

Join Date: Jan 2007
Posts: 2,965
I don't know what you mean by "the script is still running".

the "*" clause will match "N".
Reply With Quote
  #5 (permalink)  
Old 09-11-2007
Registered User
 

Join Date: Jul 2007
Posts: 53
case statement

Quote:
Originally Posted by porter View Post
I don't know what you mean by "the script is still running".

the "*" clause will match "N".
Sir according to the script if the user enters either N/n then the script must ask him to enter a valid number,instead here its gng to the nxt step and executuing it

thnks
Reply With Quote
  #6 (permalink)  
Old 09-11-2007
Registered User
 

Join Date: Jan 2007
Posts: 2,965
Quote:
Originally Posted by bkan77 View Post
Sir according to the script if the user enters either N/n then the script must ask him to enter a valid number,instead here its gng to the nxt step and executuing it

thnks
Not according to the script you posted....

Code:
echo "\nAre you sure you entered the right Destination Environment? y[n] : \c \n"
read ans
case ${ans} in
y/Y)
*);;
esac
Nothing about case "N", nothing about "valid number". Your case statement is just plain wrong.
Reply With Quote
Google The UNIX and Linux Forums
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 06:13 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008. All Rights Reserved.Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0