The shell is a heavily used tool for scripting on POSIX-based Unix and Linux systems. Most popular these days is the Bourne shell. Dash is a light-weight shell which implements just what's required under the POSIX specification. BASH is the heavy-weight shell which has a lot of extensions available.
Concurrency and synchronization in POSIX Bourne Shell (sh or bash)
It seems like ages ago now that I found my customer had a process that connected to hundreds of Oracle databases to run predefined SQL for health checks. These databases were hosted all over the world and the SQL could take up to fifteen minutes to complete for a single database (with huge amounts of TNS timeouts). The end result was a CSV file that was ultimately formatted into a spreadsheet to provide management information. It took about a day to obtain this final result.
I thought there was a better way.