Help needed in switch case handling in UNIX


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help needed in switch case handling in UNIX
# 1  
Old 07-03-2008
Help needed in switch case handling in UNIX

Hi,

In below code, i am expecting the output has
Bye
Bye

But i am getting has
Bye
Hi

Code:
#!/usr/bin/bash

var="Hi"
cat txt.txt | while read var1
do

next="Bye"
case $var in
Hi)
echo "i am Hi"
var=$next
echo $var
;;
*)
eho "selected option is wrong"
;;
esac

done
echo $var



Pls let me know, whats the problem in my script and why the value which i am assigning inside the case is not reflecting in outside the switch case.


Thanks & Regards,
# 2  
Old 07-03-2008
Try this instead:

Code:
#!/usr/bin/bash

var="Hi"
while read var1
do

next="Bye"
case $var in
Hi)
echo "i am Hi"
var=$next
echo $var
;;
*)
echo "selected option is wrong"
;;
esac

done < txt.txt
echo $var

When a while/read loop is executed in a pipeline it actually runs in a subshell, which means that any variable assignments are invisible to the calling shell.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Why does it not work (Switch Case)?

Hi there, I'm trying to run a simple script,but i'm always getting this error Syntax error: word unexpected (expecting "in")I have searched many sites,like this,but i dont get it,it looks good so far,but wont work,maybe someone can help me. Here is the Script #!/bin/bash while : do... (6 Replies)
Discussion started by: JustAnUser
6 Replies

2. Programming

Passing arguments from command line to switch case statement in C

Hi Am pretty new to C.. Am trying to pass the arguments from command line and use them in switch case statement.. i have tried the following #include <stdlib.h> main(int argc, char* argv) { int num=0; if ( argc == 2 ) num = argv; printf("%d is the num value",num); switch ( num ) ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

3. Shell Programming and Scripting

Error while executing switch case for find and replace specific file. Help Me...

case "$inputs" in sapte) find /pools/home_unix/sapte/work/models/model -name "*.xml" exec rm -i {} \;; ckm1) find /pools/home_unix/ckm1/work/models/model -name "*.xml" exec rm -i {} \;; I am getting error like as below. ./menu1.sh: line 144: syntax error near unexpected token `)'... (4 Replies)
Discussion started by: lathigara
4 Replies

4. Shell Programming and Scripting

Switch Case not working

My switch case is not working properly. When I press 6 or 'r' it prints out all the names of the project and the error message. #!/bin/bash while true; do read -p "Enter project number (1/2/3/10/20/30):" menu #grabs the informations of the project number and stores it into a menu... (1 Reply)
Discussion started by: Rapcher
1 Replies

5. Shell Programming and Scripting

Something is wrong with this switch( case statement.

I started writing a script to save the files from a camera I got the other day, which mounts in /Volumes , and I got into it and started building this menu. The only problem is that the switch case is coming up as a syntax error at the parenthesis after a case. Here is the code: while : do ... (2 Replies)
Discussion started by: snakemasterAK
2 Replies

6. Shell Programming and Scripting

Example of switch case in Bash

can anyone post a sample code for a switch case in shell (1 Reply)
Discussion started by: sumit the cool
1 Replies

7. Shell Programming and Scripting

Help needed in Switch Case

Hi Experts team, i wish to use switch case in unix. my req is case $code in 1111) echo "1111" 1112) echo "1112" *) echo "default" esac see eventhough for particular case 1111 , it is always execute the default statement *), if i code like this. How can handle... (2 Replies)
Discussion started by: spkandy
2 Replies

8. Shell Programming and Scripting

swremove unsuccessful case handling

i am using the command "swremove productname".... How can i check the unsucceful condition?.... i want to say "if unsuccessful display that message to the user and exit".... Can anu one help me??.... i am coding in this script for the first time so please dont mind... THanks (1 Reply)
Discussion started by: rag84dec
1 Replies

9. 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

10. Shell Programming and Scripting

Ignore case sensitive in Case Switch

In a Case switch, how to ignore case sensitive in the test: e.g. case "$field" in "TEST) action1;; *) action2;; esac How to go in action1 in case of $field = TEST , or Test , or test or .... without enumerating all possibilities... Thanks,... (1 Reply)
Discussion started by: annelisa
1 Replies
Login or Register to Ask a Question