![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| comparing 2 files using nested for loop | vadharah | Shell Programming and Scripting | 0 | 03-01-2008 04:32 AM |
| Variable in While Loop Nested If | geass | Shell Programming and Scripting | 6 | 03-26-2007 06:09 PM |
| Nested Loop to Echo Multiple Arrays | yongho | Shell Programming and Scripting | 1 | 07-12-2005 11:35 AM |
| Nested while read line loop | Rakker | Shell Programming and Scripting | 7 | 06-24-2005 07:42 AM |
| nested loop | chinog | Shell Programming and Scripting | 5 | 04-20-2005 10:45 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hi
I have created a shell script which uses three nested loops. When the cronjob is running the script there is a for loop which call a function which has two nested for loops. It is going into the function but the for loop in the function is not running. Can someone pleasae give me a solution for this. I have tried and removed the function also. Even with this the second for loop is not running. You can find the shell script below: ******************************************************** #!/bin/ksh #--------------- Make a file Broker.dat with all the Broker Names ----------- mqsilist |grep Broker |awk '{print substr($3,0,8)}' > /amp/home/mqsi/scripts/Broker.dat function check_msg_flow { BRKNAME=$1 for exec in `mqsilist $BRKNAME |awk '{print substr($4,0,8)}' |grep -v "completi"` do execgr=`expr $execgr + 1` #------------ Check whether the execution group is in debug mode ------------ temp=`mqsireporttrace $BRKNAME -u -e $exec |grep -v "BIP8071I:" |awk '{print substr($4,0,5)}'` if [[ $temp = debug ]]; then printf "%-45s %-25s %-20s\n" "-" $exec $BRKNAME >>MessageFlows.txt mqsichangetrace $BRKNAME -u -e $exec -l none -r fi #--------- Check whether the message flow under a perticular broker and execution group is in debug mode ----------- for flow in `mqsilist $BRKNAME -e $exec |awk '{print substr($3,0,50)}' |grep -v "command"` do flows=`expr $flows + 1` flag=`mqsireporttrace $BRKNAME -u -e $exec -f $flow |grep -v "BIP8071I:" |awk '{print substr($4,0,5)}'` if [[ $flag = debug ]]; then mqsichangetrace $BRKNAME -u -e $exec -f $flow -l none -r printf "%-45s %-25s %-20s\n" $flow $exec $BRKNAME >>MessageFlows.txt fi done done } flows=0 execgr=0 Brkrs=0 mailids="abc@abc.com" echo "\t \t TRACE LEVEL HAS BEEN TURNED OFF FOR THE FOLLOWING COMPONENTS" >MessageFlows.txt echo "*************************************************************************************************** *************">>MessageFlows.txt printf "%-45s %-25s %-20s\n" "MESSAGE FLOW NAME" "EXECUTION GROUP" "BROKER NAME" >>MessageFlows.txt echo "*************************************************************************************************** *************" >>MessageFlows.txt for brokers in `dspmq | grep Ru |awk '{print substr($1,8,8)}'` do echo "Checking the messages flows under the broker $brokers" check_msg_flow $brokers Brkrs=`expr $Brkrs + 1` done mailx -s "WMQI TRACE LEVEL REPORT for `hostname` - CHECKED $Brkrs BROKERS : $execgr EXECUTION GROUPS : $flows MESSAGE FLOWS" $mailids <MessageFlows.txt |
|
||||
|
when i running this script directly its working fine..but only when its get executed by a croj job then only the nested for loops problem is occuring can anybody help me out..I tried everything i could but not able to find a solution
|
|
||||
|
I had problems running crontabs until I added absolute paths to my file references used in the script. Search for "crontab" or similar entries in previous postings on this forum.
|
|
||||
|
my cron job is running. But the problem is that is going in the first loop but not going in the loop after that.
I have enterd this command in crontab 15 * * * * /amp/home/mqsi/scripts/ChkAllMsgFlowForDebug.sh >/amp/home/mqsi/scripts/ChkAllMsgFlowForDebug.txt& if u see in the scripts that i am storing output in file MessageFlows.txt and Broker.dat files but the messageflows.txt file is not updating at all and Broker.dat file is updating but nothing is coming in it content of Broker.dat file when i run script directly. INVTXT01 BSTART01 GBMBXT01 IUXXXT01 USRXXT01 USRXXT03 USRXXT05 USRXXT07 EXTRNT01 SDSXXT01 and its coming empty when script is getting run by cronjob and messageflows.txt is not updating at all. Its taking around 10 mins when i execute it directly but using cronjobs its getting over in seconds because its not going in nested loops. Please help me in this thing. i am trying from around 5 days but nothing found on this thing. Thanks in advance. Last edited by bihani4u; 09-25-2007 at 10:02 AM.. |
|
||||
|
Quote:
|
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|