Clarification on Case command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Clarification on Case command
# 1  
Old 11-17-2013
Clarification on Case command

Hi,
I'm a newbie to shell programming and have just written a small program to transfer files.
Code:
# job variables
RunMode=$1

export DATETIME=`date +%Y%m%d%H%M%S`
export STARTTIME=`date +%Y%m%d%H%M`
export ShellDir=/rosetlt/scripts/ksh
export LogDir=/rosetlt/scripts/log
export LogFile=${LogDir}/RTMS_MDM_FTRANS_P14_${DATETIME}.log

case "${RunMode}" in
DEV)   export INDir=/ftpland/RPDX/MDM/${RunMode}
       export ARCDir=/ftpland/RPDX/MDM/${RunMode}/archive
       export OUTDir=/apps/MPI/empi/inbound/drop
       export userid=svc-mpi
       export DestHost=10.130.163.116;;
QA)    export INDir=/ftpland/RPDX/MDM/${RunMode}
       export ARCDir=/ftpland/RPDX/MDM/${RunMode}/archive
       export OUTDir=/apps/MPI/empi/inbound/drop
       export userid=svc-mpi
       export DestHost=10.130.163.10;;
UAT)   export INDir=/ftpland/RPDX/MDM/${RunMode}
       export ARCDir=/ftpland/RPDX/MDM/${RunMode}/archive
       export OUTDir=/apps/MPI/empi/inbound/drop
       export userid=svc-mpi
       export DestHost=165.253.123.39;;
PROD)  export INDir=/ftpland/RPDX/MDM/${RunMode}
       export ARCDir=/ftpland/RPDX/MDM/${RunMode}/archive
       export OUTDir=/apps/MPI/empi/inbound/drop
       export userid=svc-mpi
       export DestHost= ;;
 *)    print "Invalid Env Type.  Values can be DEV,QA,UAT or PROD";;
esac

Moderator's Comments:
Mod Comment please use code tags

Please let me know if anything can be changed to make this more effective.

Regards,
Narayan

Last edited by jim mcnamara; 11-17-2013 at 07:42 PM..
# 2  
Old 11-18-2013
It is hard to say how effective this script would be transferring files since nothing in this script transfers any file.

Since INDir, ARCDir, OUTDir, and userid are set to the same value in every case, why don't you set those four values before the case statement?

Normally, when you have an error case (in this case *), why don't you exit with a non-zero exit status at the end of that case and only continue after the case statement finishes if one of the valid choices was given as the first operand to your script?
This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 11-18-2013
as Cargun said .. you can write the same case statement as below ...
Code:
INDir=/ftpland/RPDX/MDM/${RunMode}
ARCDir=/ftpland/RPDX/MDM/${RunMode}/archive 
OUTDir=/apps/MPI/empi/inbound/drop 
userid=svc-mpi 

case "${RunMode}" in
DEV)     DestHost=10.130.163.116;;
QA)         DestHost=10.130.163.10;;
UAT)      DestHost=165.253.123.39;;
PROD)  DestHost="";;
 *)    print "Invalid Env Type.  Values can be DEV,QA,UAT or PROD";;
esac


Last edited by Franklin52; 11-18-2013 at 08:36 AM.. Reason: Please use code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Please help me in using case sensitive command

Hello All, Please help me with this I need to create a cronjob that should delete all files which are older than 30days with '*.txt' and should not delete files with '*TEST*.txt' either file name TEST is upper or test lower case sensitive here's the script /DIR -type f -name '*.txt'... (7 Replies)
Discussion started by: krish_007
7 Replies

2. Shell Programming and Scripting

Net rpc command clarification

Hi, I am checking below command to see the status of windows service from unix but due to "!" sign it is not accepting password. Please suggest alternative what should i do resolve the issue. net rpc service status W32Time -I 10.1.1.1 -U "mydomain\admin%Passwod12!" One more thing... (1 Reply)
Discussion started by: learnbash
1 Replies

3. HP-UX

su command clarification

Hi, I want to use the "SU" command in script it is asking me to enter the password manually. pleas the say the syntax of su command in single line that includes username/password. :) (3 Replies)
Discussion started by: vigneshwaran007
3 Replies

4. UNIX for Dummies Questions & Answers

Clarification on '1 days ago' in date command [Found answer, posted within]

I know the topic of getting yesterday's date has been covered ad nauseum, but I just want to be clear on something. I recently started using the command date --date='1 days ago' '+%m/%d/%y' to get yesterday's date and it's been working great. I just want to be certain that it is going to... (1 Reply)
Discussion started by: DeCoTwc
1 Replies

5. Shell Programming and Scripting

clarification Required in Write command

Hi All, can you please help me to get clarified about the 'write' command. I have a script that sends a content of a file msg.txt to other user 'User B' using 'write' command. Script: ------ ..... cat msg.txt | write "user B" ..... Issue: I face a issue here, this scripts sends... (3 Replies)
Discussion started by: little_wonder
3 Replies

6. Shell Programming and Scripting

need clarification about tr -d command ?

Hi , I need your help to know the exact operation of this following code .. cat file1 | ux2dos | tr -d ''>>file2 file1 contains only one line : "DTS-PO\SPECTRUM WO 56" the data contains a META CHAR "\" .. look at the above line. But , The file2 output contains :... (7 Replies)
Discussion started by: vparunkumar
7 Replies

7. Shell Programming and Scripting

Need help in Case Command

Hi All I am trying to replace some character using Sed , but i also need to use case commands like this : x=`who am i` opt=`echo ${x} | cut -f1 -d' '` case $opt in unix) 'UNX' My script asks the user to enter the source server and it gets the results it has to reaplace the above... (5 Replies)
Discussion started by: raghav1982
5 Replies

8. Solaris

Sun Unix command clarification

I am reading a Sunsolve document covering moving /var and am confused by one step. What does this command do (in English): Move into the existing /var directory and transfer all the data to /newvar # cd /var # tar cvf - . | (cd /newvar; tar xfBp -) (4 Replies)
Discussion started by: FredSmith
4 Replies

9. Shell Programming and Scripting

nawk command clarification

Hi, I am using the following command. nawk '$1==p{$2=sprintf("%09d",$2+1)};1' p=$JOB_NUM q=$LEN $VALUE_TABLE > ./TEMP_TABLE As you can see the code above, I basically read a value from the table VALUE_TABLE and select a particular row based on searching the value JOB_NUM. Now Actually the... (2 Replies)
Discussion started by: Tux_Raju
2 Replies

10. UNIX for Dummies Questions & Answers

"find" command clarification

Hi everyone, I have a very simple question to ask : How can I locate the files created the last "n" days? (the find command has 3 options : -atime, -ctime, -mtime, but none of these returns the newlly created files ... am I wrong?) Thank you. (3 Replies)
Discussion started by: ck-18
3 Replies
Login or Register to Ask a Question