I am running a simple shell script which has a for loop and kicks off 16 threads in the back ground and waits for each of them to finish before moving on the next commands.Here is the shell:total_threads=16    echo      echo Running Web Exclusive Item updates ...       echo Total Number of threads =  $total_threads     for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16     do        echo Running Thread $i ..          ./run_upd_web_excl_items.sh $i $total_threads &     done     wait     echo Done.    echo       echo Committing data ...     output_val=`$ORACLE_HOME/bin/sqlplus -S $UP <<endofsql       whenever sqlerror exit 2       whenever oserror exit 3       SET HEADING  OFF       SET FEEDBACK OFF       SET ECHO     OFF       set serverout on      commit;      /    exit    endofsql`    echo Done.As I was running this, the output is coming as follows:~> . ./run_upd_web_excl_items_mitctrl.shRunning Web Exclusive Item updates ...Total Number of threads =  16Running Thread 1 ..Running Thread 2 ..Running Thread 3 ..Running Thread 4 ..Running Thread 5 ..Running Thread 6 ..Running Thread 7 ..Running Thread 8 ..Running Thread 9 ..Running Thread 10 ..Running Thread 11 ..Running Thread 12 ..Running Thread 13 ..Running Thread 14 ..Running Thread 15 ..Running Thread 16 ..Total time for Thread 3 : 0 minute(s), 22.5 second(s).Total time for Thread 2 : 0 minute(s), 23.3 second(s).Total time for Thread 12 : 0 minute(s), 24.3 second(s).Total time for Thread 8 : 0 minute(s), 24.8 second(s).Total time for Thread 7 : 0 minute(s), 29.9 second(s).Total time for Thread 1 : 0 minute(s), 30 second(s).[1]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[2]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[3]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[7]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[8]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[12]   Done                    ./run_upd_web_excl_items.sh $i $total_threadsTotal time for Thread 16 : 0 minute(s), 32.1 second(s).Total time for Thread 4 : 0 minute(s), 32.8 second(s).[4]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[16]+  Done                    ./run_upd_web_excl_items.sh $i $total_threadsTotal time for Thread 10 : 0 minute(s), 33.2 second(s).Total time for Thread 13 : 0 minute(s), 33.7 second(s).Total time for Thread 5 : 0 minute(s), 33.8 second(s).[5]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[10]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[13]   Done                    ./run_upd_web_excl_items.sh $i $total_threadsTotal time for Thread 14 : 0 minute(s), 35.6 second(s).Total time for Thread 6 : 0 minute(s), 36.8 second(s).[6]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[14]-  Done                    ./run_upd_web_excl_items.sh $i $total_threadsTotal time for Thread 11 : 0 minute(s), 37.7 second(s).Total time for Thread 9 : 0 minute(s), 37.8 second(s).[9]   Done                    ./run_upd_web_excl_items.sh $i $total_threads[11]-  Done                    ./run_upd_web_excl_items.sh $i $total_threadsTotal time for Thread 15 : 0 minute(s), 38.8 second(s).[15]+  Done                    ./run_upd_web_excl_items.sh $i $total_threadsDone.Committing data ...Done.Normally, I would have expected an output like this:~> ./run_upd_web_excl_items_mitctrl.shRunning Web Exclusive Item updates ...Total Number of threads =  16Running Thread 1 ..Running Thread 2 ..Running Thread 3 ..Running Thread 4 ..Running Thread 5 ..Running Thread 6 ..Running Thread 7 ..Running Thread 8 ..Running Thread 9 ..Running Thread 10 ..Running Thread 11 ..Running Thread 12 ..Running Thread 13 ..Running Thread 14 ..Running Thread 15 ..Running Thread 16 ..Total time for Thread 1 : 0 minute(s), 26.5 second(s).Total time for Thread 10 : 0 minute(s), 27.1 second(s).Total time for Thread 2 : 0 minute(s), 27.5 second(s).Total time for Thread 6 : 0 minute(s), 27.9 second(s).Total time for Thread 3 : 0 minute(s), 27.9 second(s).Total time for Thread 15 : 0 minute(s), 27.9 second(s).Total time for Thread 9 : 0 minute(s), 28 second(s).Total time for Thread 5 : 0 minute(s), 28 second(s).Total time for Thread 16 : 0 minute(s), 28.1 second(s).Total time for Thread 8 : 0 minute(s), 30.5 second(s).Total time for Thread 12 : 0 minute(s), 31 second(s).Total time for Thread 11 : 0 minute(s), 31.5 second(s).Total time for Thread 7 : 0 minute(s), 31.9 second(s).Total time for Thread 14 : 0 minute(s), 32 second(s).Total time for Thread 13 : 0 minute(s), 32.7 second(s).Total time for Thread 4 : 0 minute(s), 34.8 second(s).Done.Committing data ...Done.I am not able to figure out why the shell is printing the extra lines like :[13]   Done                    ./run_upd_web_excl_items.sh $i  $total_threadsAny thoughts?
Difference in output from shell script
bash;shell