Sponsored Content
Full Discussion: Cant debug shell script
Top Forums Shell Programming and Scripting Cant debug shell script Post 302442450 by scripting_newbe on Wednesday 4th of August 2010 09:06:43 AM
Old 08-04-2010
Cant debug shell script

Hi I am relatively new in shell scripting Below is the code which i developed but for some reason, it keeps giving me error:
/apps/bss/BatchProg/at1/batch/scripts/ksh/TBATLC02.ksh[30]: syntax error at line 41 : `then' unmatched

Code:
#!/usr/bin/ksh
#####################################################################
#    
#    DESCRIPTION: This jobs checks for following condition -
#    if(8 am)
#        post "EndOfDay.log" file in the output directory of the 
#        job
#    else if(wave file found)
#        post "ExecuteWave.log" file in the output directory of    #        the job
#    else if(camapign contacts file found)
#        post "ExecuteCampaignCOntacts.log" file in the output    #           directory of the job
#    else
#        keep looping till its 8 am.
#
#####################################################################

SRC_DIR=$1  
DEST_DIR=$2
RUN_CHECK=1

#remove any log file from th eoutput directory of the job
rm $DEST_DIR/*

#remove all ctl and eot files
rm $SRC_DIR/*.ctl
rm $SRC_DIR/*.eot

#Keep checking for a file till a wave/ campaign contact file is found #till it is 8 am 
while [ $RUN_CHECK -gt 0 ]
do
    #check for current time
    TIME=`date "+%H%M"`
    echo "Time is :"$TIME   # For testing
    if [ $TIME -gt 0800 ] ; then
        echo ''>$DEST_DIR/EndOfDay.log
        RUN_CHECK=0
        
    else
        #check for wave file
        WAVE_FILE=`ls $SRC_DIR/ATHENIAN_IF927_LoadCampaignWave_*.dat`
        WAVE_COUNT=${#WAVE_FILE}

        

        if [ WAVE_COUNT -gt 10 ] ; then
            echo ''>$DEST_DIR/ExecuteWave.log
            RUN_CHECK=0
        
        else
            #check for Campaign Contact file
            CAMPAIGN_CONTACTS_FILE=`ls $SRC_DIR/ATHENIAN_IF927_LoadCampaignContact_*.dat`
            CAMPAIGN_CONTACTS_COUNT=${#CAMPAIGN_CONTACTS_FILE}

            if [ CAMPAIGN_CONTACT_COUNT -gt 10 ]; then
                echo ''>$DEST_DIR/ExecuteCampaignContacts.log            
                RUN_CHECK=0
        
            fi
        

        fi
        

    fi

done


Any help would be highly appreciated
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

debug this script

echo "input time in hhmmss" read $st h=`echo $st | cut -c1-2` min=`echo $st | cut -c3-4` s=`echo $st | cut -c5-6` echo "input time in hhmmss" read $end h1=`echo $end | cut -c1-2` min1=`echo $end | cut -c3-4` s1=`echo $end | cut -c5-6` x= `expr $h /* 60 + $min` y= `expr $h1 /* 60 +... (8 Replies)
Discussion started by: abhishek27
8 Replies

2. UNIX for Advanced & Expert Users

How can debug our UNIX shell script?

Hi all, i have two simple questions here... 1. i want to know that how to debug the UNIX shell script? 2. is there any way to handling the exception in UNIX shell script like oracle exception handling? Please provide me those details it would be great help/ Thanks and Regards, MPS... (3 Replies)
Discussion started by: psiva_arul
3 Replies

3. Shell Programming and Scripting

Please help to debug a small shell script (maybe AWK problem)?

Hi Buddies, The following is shell scripts which was borrowed from linux box for load average check. it runs good. (this structure is simple, when load average is too high, it will send alert to user) #!/usr/bin/ksh # Set threshold for 1, 5 and 15 minture load avarage # configured for... (4 Replies)
Discussion started by: GreatJerry
4 Replies

4. Shell Programming and Scripting

Problem with the script, help me debug

Hi, When i run the script ./script.sh sun, this give me no output, it should give me the list of file. If i run the script without the argument it should send me echo inside usage(). What is the problem? please help -Adsi #!/bin/sh ROOT_PATH=/net/icebox/vol/local_images/spins... (2 Replies)
Discussion started by: asirohi
2 Replies

5. Shell Programming and Scripting

Help with debug the script

Hi, I have this script, searches and sets variables, then searches and sets more variables from multiple files. I'd need to debug it a bit. #!/bin/bash egrep $1 `find | grep MAGT` >/tmp/resRA-$$ thread=`sed -n '/{0x/ {s/^.*{0x\(*\).*/\1/p;q}' /tmp/resRA-$$` tag=`sed -n '/Tag=/... (5 Replies)
Discussion started by: Vitoriung
5 Replies

6. Shell Programming and Scripting

How to compile or debug line by line in shell script?

I know about bash -x, set -x and -v but disappears from Command Line Interface in fraction of second ...... I am looking for a command or script ..complies each line and shows the output after executing each line ....( similar what we have in C ) Thanks in Advance (2 Replies)
Discussion started by: frintocf
2 Replies

7. Shell Programming and Scripting

Logging perl and shell debug mode.

I have a shell program which calls a perl program. I am running the shell program with command; $ ksh -x <prog_name> Inside the shell program, I am calling perl with warnings. I want to capture the entire output as it comes on screen. The command I tried is: $ ksh -x... (1 Reply)
Discussion started by: som.nitk
1 Replies

8. Ubuntu

Debug script

How can I debug this script? I want to know what it is doing or not doing? #!/bin/bash # # if ; then # Do the thing you want before suspend here echo "we are suspending." > /tmp/systemd_suspend_test.txt elif ; then # Do the thing you want after resume here echo "and we are... (21 Replies)
Discussion started by: drew77
21 Replies

9. UNIX for Beginners Questions & Answers

"Help debug the shell script"

Hello All, I have got a section of shell script which was working earlier but now it is giving some different results: MSG= while true do themenu getchar = case $answer in 1) export_Config_tables;; 2) export_config_tables_file;; 3)... (1 Reply)
Discussion started by: bghosh
1 Replies
condor_wait(1)						      General Commands Manual						    condor_wait(1)

Name
       condor_wait Wait - for jobs to finish

Synopsis
       condor_wait [-help -version]

       condor_wait[-debug] [-wait seconds] [-num number-of-jobs] log-file[job ID]

Description
       condor_waitwatches  a  user  log file (created with the logcommand within a submit description file) and returns when one or more jobs from
       the log have completed or aborted.

       Because condor_waitexpects to find at least one job submitted event in the log file, at least one job must have been successfully submitted
       with condor_submitbefore condor_waitis executed.

       condor_waitwill wait forever for jobs to finish, unless a shorter wait time is specified.

Options
       -help

	  Display usage information

       -version

	  Display version information

       -debug

	  Show extra debugging information.

       -wait seconds

	  Wait no more than the integer number of seconds. The default is unlimited time.

       -num number-of-jobs

	  Wait for the integer number-of-jobsjobs to end. The default is all jobs in the log file.

       log file

	  The name of the log file to watch for information about the job.

       job ID

	  A  specific job or set of jobs to watch. If the job IDis only the job ClassAd attribute  ClusterId , then condor_wait waits for all jobs
	  with the given  ClusterId . If the job IDis a pair of the job ClassAd attributes, given by  ClusterId . ProcId , then condor_wait  waits
	  for  the specific job with this job ID. If this option is not specified, all jobs that exist in the log file when condor_wait is invoked
	  will be watched.

General Remarks
       condor_waitis an inexpensive way to test or wait for the completion of a job or a whole cluster, if you are trying to get a process outside
       of Condor to synchronize with a job or set of jobs.

       It can also be used to wait for the completion of a limited subset of jobs, via the -numoption.

Examples
       condor_wait  logfile

       This command waits for all jobs that exist in  logfile to complete.

       condor_wait  logfile 40

       This command waits for all jobs that exist in  logfile with a job ClassAd attribute  ClusterId of 40 to complete.

       condor_wait  -num 2 logfile

       This command waits for any two jobs that exist in  logfile to complete.

       condor_wait  logfile 40.1

       This command waits for job 40.1 that exists in  logfile to complete.

       condor_wait  -wait 3600 logfile 40.1

       This waits for job 40.1 to complete by watching	logfile , but it will not wait more than one hour (3600 seconds).

Exit Status
       condor_waitexits  with  0  if and only if the specified job or jobs have completed or aborted. condor_waitreturns 1 if unrecoverable errors
       occur, such as a missing log file, if the job does not exist in the log file, or the user-specified waiting time has expired.

Author
       Condor Team, University of Wisconsin-Madison

Copyright
       Copyright (C) 1990-2012 Condor Team, Computer Sciences Department, University of  Wisconsin-Madison,  Madison,  WI.  All  Rights  Reserved.
       Licensed under the Apache License, Version 2.0.

       See the Condor Version 7.8.2 Manualor http://www.condorproject.org/licensefor additional notices. condor-admin@cs.wisc.edu

								  September 2012						    condor_wait(1)
All times are GMT -4. The time now is 07:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy