ksh case structure


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers ksh case structure
# 1  
Old 01-09-2009
ksh case structure

Hello Experts,

I ve been trying to build another shell where I am using the following code.

Code:
 
transact="tv5cpc1"
 
case "$transact" in
  "...cp..")
   xActType=""
   ;;
  "...de..")
   xActType="sp_dep"
   ;;
  "...ep..")
   xActType="sp_epa"
   ;;
  "....v.")
   xActType="sp_pt"
   ;;
  *)
   xActType="NA"
   ;;
  esac

The problem I am facing is that it always comes to the default case and not any of the cases above it. I believe their is some mistake in the way I have given the Regular Expressions for cases.

Please hint towards the mistake.

Regards
# 2  
Old 01-09-2009
You need question marks '?' instead of dots '.' in the patterns.
# 3  
Old 01-12-2009
reason?

Hello Radoulov,

Ok, "?" solves the problem, thanks Smilie.
Could you please tell the reason for that! A "." would match any single character, right?

Regards
# 4  
Old 01-12-2009
Quote:
Originally Posted by hkansal
[...]
A "." would match any single character, right?
You're confusing shell patterns with regular expressions.
The dot '.' is a regular character whenever patterns are processed.
# 5  
Old 01-12-2009
Thanks Radoulov.
And thanks for the pointer to the "pattern" and "regEx" difference(I would ve liked it if you would ve given this as first reply and not directly telling me about "?". Would help me learn more Smilie ).

Regards
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Case structure combined with standard input

Hi folks, I am new to bash scripting so please excuse my question. Is there any chance to combine a case structure with the read command? Like case (read -p "" variable) in x) Thx! (7 Replies)
Discussion started by: haukee
7 Replies

2. Shell Programming and Scripting

case structure in .sh file

Hi, while true do printf "$FBOLD\nPlease enter the minutes (0-59): $FREG" read MIN case "$MIN" in ||s) break 2;; *) echo "" echo "Invalid minutes, please try again.";; esac done In the above... (4 Replies)
Discussion started by: milink
4 Replies

3. Shell Programming and Scripting

lower to upper case in ksh

What is the command to change the contents of a file to UPPER case. Here in this file below you see some characters are Sp, Ch 1200812270046581 22885072800000652 B86860003OLFXXX592123320081227 22885029800000652 B86860003ODL-Sp592123420081227 22885093700000652-B94030001ODL-Ch592123520081227... (4 Replies)
Discussion started by: kshuser
4 Replies

4. Shell Programming and Scripting

unique storage structure in ksh

hi all, is there a storage structure in ksh which only allows unique values i.e overwrites duplicates values ?? am using an array to hold server names from a 'find' command but some of the names are repeated. Is there an easy way to remove the duplicates ?? ta. (2 Replies)
Discussion started by: cesarNZ
2 Replies

5. UNIX for Dummies Questions & Answers

Fall through case structure

Hello Experts, I was wondering how can we get a fall trough case structure. Eg: If we have two cases A and B and a default; if I do not break after A, it should execute all the statements of A as well as B if I break after B else fall through even lower. I tried this: #!/bin/sh v1=1... (6 Replies)
Discussion started by: hkansal
6 Replies

6. Shell Programming and Scripting

ksh case statement

I am trying to write a ksh script using the case statement to select certain directories to remove. The directories that I am looking for are in the following format 2008-10-10. I want to exclude all other files/directories that contain anything other the 4 digit year,a dash, 2 digit month, a... (2 Replies)
Discussion started by: dgilc
2 Replies

7. Shell Programming and Scripting

Case structure

Hi, Can anyone help me with the following case structure? echo "Please enter the date for which you want the Report:\c" read dat d1=`echo $dat|cut -c7-8` m1=`echo $dat|cut -c5-6` y1=`echo $dat|cut -c1-4` yr=`expr "$d1" - 1` case "$yr" in 0) MONTH=`expr "$m1" - 1`... (4 Replies)
Discussion started by: kamitsin
4 Replies

8. Shell Programming and Scripting

ksh case problem

I'm trying to run a ksh script with a case condition to handle parameters. #!/bin/ksh db_start(){ *code } db_shut(){ *code } case "$1" in up) db_start TRNG ;; down) db_shut TRNG ;; *) echo "Usage: $0 { up | down }" (3 Replies)
Discussion started by: digiteck
3 Replies

9. Shell Programming and Scripting

Case (ksh)

Isn't any "NOT" operator that can be used in the case construction like : case $VAR (NOT) in option1 | option2 | option 3...) COMMAND ;; esac Or something similiar to the "default" from switch, so I could at least do something like this: case $VAR in ... (2 Replies)
Discussion started by: 435 Gavea
2 Replies

10. UNIX for Dummies Questions & Answers

Problem w. case structure

Hello, I am having a problem setting a range of numbers for the "case" structure. I can use with no problems, but when I use it doesn't work??? Does the case struture allow numeric ranges? eg: echo -e "enter number between 0 and 60: \c" read $answer case $answer in ) echo... (2 Replies)
Discussion started by: Joe54321
2 Replies
Login or Register to Ask a Question