As it stands, they will be run one after another, regardless of whether they failed or not. They only have to exit at some point, then the next command is run. One after another.
If you want them to be executed only if the previous commands did not exit with an error, use:
python do_this_first.py && python do_this_second.py && python do_this_last.py
Here, the two ampersands work like a logical AND
. The second script will only run when the first one has exited cleanly, and the third one only when the second one ran without errors. If there was any error, none of the following commands will run.
If you however want to run them in parallel, you could do this — but there are plenty of other options:
python do_this_first.py &
python do_this_second.py &
python do_this_last.py &