![]() |
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 |
| the given code goes in infinite loop and does not increment variable i | mrityunjay22 | Shell Programming and Scripting | 6 | 12-26-2007 02:20 AM |
| pick the bug the server enters an infinite loop | arjunjag | High Level Programming | 3 | 07-19-2007 01:53 AM |
| ls command in infinite Loop | umakant | SUN Solaris | 3 | 07-17-2007 01:25 AM |
| Script not running in AutoSys | ramsi_ece | Shell Programming and Scripting | 2 | 07-11-2007 11:43 AM |
| high priority thread contains an infinite loop | rvan | High Level Programming | 0 | 02-14-2007 09:30 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
Hi All,
I have a shell script, which runs fine manually, but goes into infinite loop, when run through Autosys Scheduler. The part of code going in infinite loop is pasted below: *************this is only a part of code***************** i=0 while [ $i -lt $split ] do #echo start $start and end $end sed -n ''$start','$end'p' $dir/$filename >> $dir/$fldr/input.csv cat $dir/$fldr/header.csv $dir/$fldr/input.csv >> $dir/$fldr/input_`expr $i + 1`.csv echo `date +%m%d%y_%T`--$dir/$fldr/input_`expr $i + 1`.csv created >> $log rm -f $dir/$fldr/input.csv start=`expr $end + 1` if [ $i -eq `expr $split - 2` ]; then start=`expr $end + 1` end=`expr $filecnt` else end=`expr $start + $flsize - 1` fi #cat input_`expr $i + 1`.csv let "i=$i+1" done *************************************************** in the last but one line, i am using let"i=$i+1" I tried using i=`expr $i + 1` but still the script goes in infinite loop... Need some suggestions... |
|
||||
|
check $split where it comes from.
let "i=$i+1" is true there is no need to check expr or etc. and addition let "i=$i+1" is not dependent on a line of code before it. So it must be to possibilities 1. it is not a infinite loop it is waiting on a line before let 2. if it is $split is empty or something else what you expected |
|
||||
|
I made few corrections in the script, and it worked fine...
![]() ![]() ![]() 1. I defined a temporary variable x to calculate the value of `$i + 1`, as it was not getting passed in echo and cat in the original script. 2. I replaced let with expr, as the autosys server of ous is not having the functionality of let. Script pasted below: ******************************************************* while [ $i -lt $split ] do #echo start $start and end $end x=`expr $i + 1` sed -n ''$start','$end'p' $dir/$filename >> $dir/$fldr/input.csv cat $dir/$fldr/header.csv $dir/$fldr/input.csv >> $dir/$fldr/input_$x.csv echo `date +%m%d%y_%T`--$dir/$fldr/input_$x.csv created >> $log rm -f $dir/$fldr/input.csv start=`expr $end + 1` if [ $i -eq `expr $split - 2` ]; then start=`expr $end + 1` end=`expr $filecnt` else end=`expr $start + $flsize - 1` fi #cat input_`expr $i + 1`.csv let "i=$i+1" done ******************************************************* I would like to clarify two thing on this regard: 1. Is it so that autosys is not able to calculate the parameter value at runtime. If so, what does Autosys scheduler do other than just scheduling the script. ![]() ![]() ![]() 2. Is it so that the autosys server, and shell script server should have same set of commands in their command list. ![]() ![]() ![]() |
| Sponsored Links | ||
|
|
![]() |
| Bookmarks |
| Tags |
| autosys |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|