When running commands from a bash script, does bash always wait for the previous command to complete, or does it just start the command then go on to the next one?
They wait until the previous one is finished.
However, you can write 2 scripts and run them in separate processes, so they can be executed simultaneously. It's a wild guess, really, but I think you'll get an access error if a process tries to write in a file that's being read by another process.