Case question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Case question
# 1  
Old 01-10-2014
Case question

Hi,
ksh script.

I have a shell script which use while loop and case statment in order to execute several functions.
Each step is working fine .
I want to add a new dynamic option : from step X to step Y which go through the selected steps .
for example : from step 2 to 3 , will execute option 2+3 only (function 2 and function 3) in the menu bellow.

Please advise.
Thanks

Code:
while :
do
  clear
  echo "----------------------------------------------"
  echo " * * * * * * * Steps * * * * *  * * "
  echo "----------------------------------------------"
  echo "[1]  Step1 "
  echo "[2]  Step2 "
  echo "[3]  Step3 "
  echo "[0]  Exit  "
  echo "----------------------------------------------"
  echo -n "Choose Option [0-3]:"
  read yourch
  case $yourch in
    0) exit 0
       ;;
    1)  function1 ;;
    2)  function2 ;;
    3)  function3 ;;
    *) echo " Please select choice 1,2,3 OR all"
    echo "Press a key. . ."
       ;;
  esac
done


Last edited by bartus11; 01-10-2014 at 12:45 PM.. Reason: Please use code tags.
# 2  
Old 01-10-2014
You could insert the following code in red:-
Code:
while :
do
  clear
  echo "----------------------------------------------"
  echo " * * * * * * * Steps * * * * *  * * "
  echo "----------------------------------------------"
  echo "[1]  Step1 "
  echo "[2]  Step2 "
  echo "[3]  Step3 "
  echo "[0]  Exit  "
  echo "----------------------------------------------"
  echo -n "Choose Option [0-3]:"
  read yourch
  until [ $yourch -ge 4 ]
  do
    case $yourch in
      0) exit 0        ;;
      1)  function1 ;;
      2)  function2 ;;
      3)  function3 ;;
      *) echo " Please select choice 1,2,3 OR all"
      echo "Press a key. . ."
         ;;
    esac
    ((yourch=$yourch+1))
  done
done

You would need to make sure that yourch is numeric, else you will get all sorts of horrible errors.



Does this help?


Robin
# 3  
Old 01-10-2014
Hi Robin,
Thank you for your quick feedback.
Its will work fine in case i will go through all the steps.
In reality i have more than 10 steps. To keep this senario simple i have mentioned steps 1-3 .
Its will not solve the problem in case i need to run just between steps 2-3 ( or between any other steps which are not all the steps).
Thanks again for sharing you time.
Yoav
# 4  
Old 01-10-2014
So basically you want to be able to type say
Code:
2 4

and the script will execute steps 2,3 and 4?
# 5  
Old 01-11-2014
Thats right. I want to be able to run range of steps :
1 to 4 , 2 to 4 , 3 to 4 and each
Thanks Again
# 6  
Old 01-11-2014
In ksh93 and bash4 you can use fall through, using ;&:
Code:
case $yourch in
    0)  exit 0 ;;
    1)  function1 ;&
    2)  function2 ;&
    3)  function3 ;&
    4)  function4 ;;
    *)  echo " Please select choice 1,2,3 OR all"
        echo "Press a key. . ."
        ;;
esac

These 3 Users Gave Thanks to Scrutinizer For This Post:
# 7  
Old 01-11-2014
Quote:
Originally Posted by Scrutinizer
In ksh93 and bash4 you can use fall through, using ;&
I wasn't aware that feature existed. Thank you for the introduction.

Regards,
Alister
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

2. Shell Programming and Scripting

Awk-sed : Question getting case sensitive filed.

Experts, Good day!, I have following data, I want to filter 3rd Field, if it is in UPPERCASE, aa aa1 HOST1 aa bb1 host2 aa cc1 SERV1 aa dd1 SERV2 ab aa1 host3 The output should be: aa aa1 HOST1 aa cc1 SERV1 aa dd1 SERV2 (2 Replies)
Discussion started by: rveri
2 Replies

3. Shell Programming and Scripting

Question about REGEX Patterns and Case Sensitivity?

Hello All, I'm in the middle of a script and I'm doing some checks with REGEX (i.e. using the '"shopt -s nocasematch" that at least the first one should print "FALSE" but it prints "TRUE"..? For Example: #!/bin/bash MY_VAR="HELLO" ### This prints "TRUE" PATTERN_1="^*" if ] then... (5 Replies)
Discussion started by: mrm5102
5 Replies

4. Shell Programming and Scripting

[Solved] Change Upper case to Lower case in C shell

Is there a command that can switch a character variable from UPPER case to lower case? like foreach AC ( ABC BCD PLL QIO) set ac `COMMAND($AC)` ... end Thanks a lot! (3 Replies)
Discussion started by: rockytodd
3 Replies

5. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

6. Shell Programming and Scripting

case question

hi all i have script call tmp1 run_object1 run_object2 case $? in 0) ;; *) echo "error try again" read an ;; esac can some one please explain to me from the case till the end of the script ? thanks (2 Replies)
Discussion started by: naamas03
2 Replies

7. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies

8. Shell Programming and Scripting

To CASE or not to CASE, this is my question!

Hi I'm trying to display the permissions, owner and group of a file. So far so good! Script 4 #To determine the permissions, owner and group of a file #Syntax: script4 filename LINE=`ls -ltr $1` OWNER=`echo $LINE | awk '{print $3}'` GROUP=`echo $LINE | awk '{print $4}'`... (1 Reply)
Discussion started by: olimiles
1 Replies

9. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question