Bash automatically enables job control when interactive, but in scripts you must turn it on explicitly.
set -m