Using & to run in the background will do the trick
cppcheck.sh & churn.sh & run.sh & wait echo "All 3 complete"
A new process will open for each of them.
bash wait will also be useful, as pointed out in the comments, if you have something to run on the parent script after these three finishes.
Without an argument, it will wait for all child processes to complete, and then resume execution of the parent script.
The problems you are facing seem to be directly related to this. A set of variables is displayed only under the <shell in which they are defined . So, if you have OUT_DIR specified in the parent script, it will not be visible to the script child when it is disabled. The right thing in this case would be an export variable as an environment variable.
Anirudh Ramanathan Mar 26 '13 at 18:45 2013-03-26 18:45
source share