Visit Our UNIX and Linux User Community


Shell script automation using case statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell script automation using case statement
# 1  
Old 09-11-2002
Shell script automation using case statement

Hi,

I'm trying to write a shell script that has a menu and then dependant on the selection, will automate some samba file transfer.

The problem is when I run the code without the case statement it runs fine. but when I put the case statement in the only way I can get the code to run is to remove the "SMB_1" entries but then the samba commands are no longer automated. Help please !!

Code is below :

#!/bin/sh
#
################
#Deployment script
################

echo " Please select one of the following :

1. Upload from dev platform
2. End

Please enter choice : "
read sel

case $sel in
1) echo "going to upload from dev ..."
/opt/samba/bin/smbclient //devsyst1/packages$ -Wdevsyst11 -Uadministrator << SMB_1
tar c syst_update.tar NewSyst
exit
SMB_1
gzip syst_update.tar
;;
*) echo "gone"
;;
esac


Any ideas ?Smilie
# 2  
Old 09-11-2002
why not do an actual menu system. maby this will help ya.

this seems to work for me.

Code:
PS3='Your selection? '
select option in 'Send_to_Dev' quit; do
        if [[ $option == 'Send_to_Dev' ]]; then
                cat << EOF
GOOD
awsome
super cool
EOF

        else
                echo BAD
                exit
        fi
done


Last edited by Optimus_P; 09-11-2002 at 11:07 AM..
# 3  
Old 09-11-2002
Or use the smbtar utility packaged with the samba suite...
# 4  
Old 09-12-2002
Tried the menu code but kept getting an error :

unexpected do


Any ideas ?


Also can't find smbtar in samba suite ... I've got a standard Solaris install of it, if that makes any difference.

Cheers ....
# 5  
Old 09-12-2002
Quote:
Originally posted by ianf
Tried the menu code but kept getting an error :

unexpected do
The select statement is a ksh thing. It won't work with sh.
# 6  
Old 09-12-2002
Maybe you can try this simple menu (this is origanally for AIX)


#
# Main loop
#
while [ 1 ]
do
cat <<-EOT

1. start programm 1
2. start programm 2
3. start programm 3



type exit to quit


EOT

echo " Enter your choice: \c"
read choice
case $choice in
1) start_programm_1.sh
;;
2) start_programm_2.sh
;;
3) start_programm_3.sh
;;
exit) clear
echo "\nEnd of session...\n"
exit 0
;;
*)
echo "\007\007\007\c"
echo "\n This choice does not exist, please choose another one ! \c"
sleep 2
;;
esac
done
# 7  
Old 09-12-2002
my bad i thought i had included the shell. here this works now.

Code:
#!/bin/ksh

PS3='Your selection? '
select option in 'Send_to_Dev' quit; do
        if [[ $option == 'Send_to_Dev' ]]; then
                cat << EOF
GOOD
awsome
super cool
EOF

        else
                echo BAD
                exit
        fi
done


Previous Thread | Next Thread
Test Your Knowledge in Computers #253
Difficulty: Easy
The Defense Advanced Research Projects Agency (DARPA) is an agency of the United States Department of Defense originally designed by the Jefferson Airplane Company.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script run in a case statement call to run a php file, also Perl

Linux System having all Perl, Python, PHP (and Ruby) installed From a Shell script, can call a Perl, Python, PHP (or Ruby ?) file eg eg a Shell script run in a case statement call to run a php file, also Perl or/and Python file??? Like #!/usr/bin/bash .... .... case $INPUT_STRING... (1 Reply)
Discussion started by: hoyanet
1 Replies

2. Shell Programming and Scripting

Shell scripting with case statement

Foe example we have three environments int,qa and prod.Each environment has some number of servers. int=Server1,Server2,Server3 qa=Server4,Server5,Server6 prod=Server7,Server8,Server9 echo "Enter the Environment i.e int,qa,prod" read env case $env in int) ## Need command where all the... (9 Replies)
Discussion started by: nareshreddy443
9 Replies

3. Shell Programming and Scripting

Using shell to generate case statement

Hi Gurus, I have a very weird requirement and have no clue to resolve the issue. please help me get out this difficulty below two tables, table1 contains the column name. D means this column used for the rule. for example: rule 0 is all columns have value, rule1 is col3 and col7 have no value.... (2 Replies)
Discussion started by: Torhong
2 Replies

4. Shell Programming and Scripting

Case statement in UNIX shell script

have written the below code to check whether the string received from user is a file name or dir using case statement, but its going into default case*). #!/bin/sh #Get a string from user and check whether its a existing filename or not rm str2 rm str3 echo "enter a file \c" read fil... (8 Replies)
Discussion started by: Mohan0509
8 Replies

5. Shell Programming and Scripting

Pass values to case statement in a function korn shell

I'm in the process of writng a function that consists of a case statement is there a way of calling the function and passing a value to it? ie function1 () { case opt1 do ..... opt2 do..... esac } function opt1 I'm aware the syntax is not correct, but you get the general idea. (1 Reply)
Discussion started by: squrcles
1 Replies

6. Shell Programming and Scripting

Help With Loop in Case Statement script

I am writing a bash script that asks the user for input and I need it to repeat until the user selects quit.. I dont know how to write the loop for it I searched all over but i still do not get it.. if anyone could help with this it would be greatly apprciated here is my script so far: #!... (2 Replies)
Discussion started by: Emin_Em
2 Replies

7. Shell Programming and Scripting

Shell case statement

echo -e "Select: \c" read IN pattern="1-20" case $IN in ) echo "Selected: $IN" ;; *) echo "Invalid selection: $IN" ;; esac # sh test Select: 10 Invalid selection: 10 # sh test Select: 2 (6 Replies)
Discussion started by: Ikon
6 Replies

8. Shell Programming and Scripting

shell script case statement

In a case statement like below : case $rental in "car") echo "For $rental Rs.20 per k/m";; "van") echo "For $rental Rs.10 per k/m";; "jeep") echo "For $rental Rs.5 per k/m";; "bicycle") echo "For $rental 20 paisa per k/m";; *) echo "Sorry, I can not gat a $rental for you";;... (4 Replies)
Discussion started by: sriram003
4 Replies

9. Shell Programming and Scripting

what is problem with this small shell script.. case statement related

Hi All, this small script is written to recognize user input character.. it is in small case .. upeer case or is a number... but when i input first capital letter say A.. it always gives small character.... what is the problem. #!/bin/bash echo "Enter the character" read a case $a in )... (2 Replies)
Discussion started by: johnray31
2 Replies

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

Featured Tech Videos