Is there anything wrong?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Is there anything wrong?
# 1  
Old 04-24-2011
Question Is there anything wrong?

For one of my script, I want one extra parameter needs to be added to one of the Usage option. Below its given

Code:
 
#Check Input parameters are valid
if [ $# != 4 ]; then
function usage() {
        echo
        echo "*******************************************"
        echo "       !!! USAGE PARAMETERS !!!            "
        echo "*******************************************"
        echo
        echo
        echo "  " `basename $0`" <-l|-a> <DATE> <-c|-s> <SERVICE_NAME>   "
        echo
        echo "  <SERVICE_NAME>   = Enter the vaild SERVICE_NAME that exists in 76S DIR.
    <-L | -l>      = Refining from LIVE LOGS.
    <-A | -a>      = Refining from Archive Logs , But date should be provided along with Option A , Date format yyyy-mm-dd
    <-C | -c>      = Client Specific Provider Error Code
    <-S | -s>      = Server Specific Provider Error Code
 if [ $2 == $[aA] ]; then
  function Archive() {
    -a|-A) -a=$DATE $SERVICE_NAME
            REQUIRED_OPT=2
        *)  usage
      }
    }
usage
fi

For Archive Log Option, mandatorily DATE option should be added in the format yyyy-mm-dd. Do this above option does work??
# 2  
Old 04-24-2011
if the parameter is a little complex, you may want to take a look "getopts". it can handle many kinds of passed in parameters. e.g. cmd -A --timestamp yyyy-mm-dd

you can get more information by
man getopts
or
google getopts.
# 3  
Old 04-26-2011
I tried with getopts , but still failing for some reason. Can someone assist for above query.

---------- Post updated at 12:42 AM ---------- Previous update was at 12:18 AM ----------

How to assign two arguments passed for option [aA] in the usage.

Is there anything that needs to be changed in the below snippet.

Code:
liveFilePattern="${HOME}/conf/app.properties.live.txt"
archFilePattern="${HOME}/conf/app.properties.archive.txt"

OPTRG=$1
SERVICE_NAME=$2
DATE=date +%y%m%d
ERROR_LOG_DIR=$HOME/ErrorLog/
OUT_FILE=$ERROR_LOG_DIR/$SERVICE_NAME_${DATE}

#The Log Path for the File Pattern
LOG_DIR="/logs/dev/app/logs/"

#The String Search File

#myString="${HOME}/conf/stringFile.txt"

#Check Input parameters are valid

if [ $# != 2 ]; then
function usage() {
        echo
        echo "*******************************************"
        echo "       !!! USAGE PARAMETERS !!!            "
        echo "*******************************************"
        echo
        echo
        echo "  " `basename $0`" [-l <SERVICE_NAME> | -a <YYYY-MM-DD> <SERVICE_NAME>] -c -s  "
        echo
        echo "  <SERVICE_NAME>   = Enter the vaild SERVICE_NAME that exists in APP DIR.
    <-L | -l>      = Refining from LIVE LOGS.
    <-A | -a>      = Refining from Archive Logs , But date should be provided along with Option A , Date format yyyy-mm-dd
    <-C | -c>      = Client Specific Provider Error Code
    <-S | -s>      = Server Specific Provider Error Code
 
        *)  usage
    }
usage
fi


Last edited by raghunsi; 04-26-2011 at 05:49 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Why result is wrong here ? whether break statement is wrong ?

Hi ! all I am just trying to check range in my datafile pls tell me why its resulting wrong admin@IEEE:~/Desktop$ cat test.txt 0 28.4 5 28.4 10 28.4 15 28.5 20 28.5 25 28.6 30 28.6 35 28.7 40 28.7 45 28.7 50 28.8 55 28.8 60 28.8 65 28.1... (2 Replies)
Discussion started by: Akshay Hegde
2 Replies

2. UNIX for Advanced & Expert Users

What am I doing wrong here?

I am working on a simple login ID check shell script that should prompt for a user ID then check to see if this user is logged on. Trying to get the hang of this stuff so I am thinking of my own little projects. #! /bin/sh echo "please enter a user name" read user if user=$user then... (3 Replies)
Discussion started by: jsk319342
3 Replies

3. UNIX for Dummies Questions & Answers

What is wrong in here ???

]#PATH=/usr/bin:/etc:/bin:/boot/grub:/boot/grup/bin: /boot/solaris/bin:/sbin:/usr/openwin/bin:/usr/5bin://usr/X11/bin:/usr/apache/bin:/usr/apache2/bin:/usr/appserver/bin:... (9 Replies)
Discussion started by: microbot
9 Replies

4. Shell Programming and Scripting

what I m doing wrong?

when user select option 2 nothing happen.for testing purpose I put echo command but is not executing . basically when user prompt for option 2,I want to get list of database name from user separeted by space (TEST DEVL) and put into the file seprated by new line TEST DEVL after that stay on... (1 Reply)
Discussion started by: okreporthai
1 Replies

5. UNIX for Dummies Questions & Answers

what is wrong with this tr -d?

here is my command in bash shell on Mac OS X tiger: history | tr -d emacs here is what I get: hitory | grp "" | tr -d "" hitory | grp "" | tr -d """" hitory | grp "" | tr -d '' hitory | grp "" | tr -d '' hitory | grp "" | tr -d '' hitory | grp "" | tr -d... (3 Replies)
Discussion started by: cleansing_flame
3 Replies

6. UNIX for Dummies Questions & Answers

What am I doing wrong?

I really just mess around in UNIX, for the most part, when I want to get something done. I can usually piece things together by searching for brief how-to's on Google, but the syntax errors in my following .sh file are really confusing me. I've got lots of programming experience in other places, so... (7 Replies)
Discussion started by: demonpants
7 Replies

7. UNIX for Dummies Questions & Answers

what is wrong here

Hello, I have a simple script such as ----------------------------- #! /bin/sh YEAR=`date -u +%Y`; MONTH=`date -u +%m`; DAY=`date -u +%d`; DATE=$MONTH$DAY$YEAR LOGFILES=auditTrail-$DATE LOGMATCH=$LOGFILES\* ARGUM='' # find all files and write them to a file find . -name... (7 Replies)
Discussion started by: arushunter
7 Replies

8. Shell Programming and Scripting

Anything wrong with this

Does anyone see anything wrong with this. #getInfraFiles() #{ # cd Infra/$DAY # rm * # /usr/bin/ftp -i -n $LINE << cmd # user "$USER" "$PASSWD" # cd $INFRAPATH # binary # mget * # bye #} besides that its commented out (4 Replies)
Discussion started by: rcunn87
4 Replies

9. UNIX for Dummies Questions & Answers

Please tell me what do I do wrong here!

#!/usr/bin/csh # DAY=`date +%y%m%d` H=`date +%H` M=`date +%M` mailx -s "$H-Myfile" email@email.com</home/mydir/myfile Thanks! (4 Replies)
Discussion started by: bobo
4 Replies

10. UNIX for Advanced & Expert Users

What am I doing wrong

When I execute following shell script I am getting the following error syntax error at line 50 : `<<' unmatched What am I doing wrong :confused: Script begins here ---------------- MPAN_FILE=$1 exec 3<$MPAN_FILE ... (2 Replies)
Discussion started by: guptan
2 Replies
Login or Register to Ask a Question