Thank you for the suggestion, Joe. Adding --ungroup to my command gives the desired outcome.
On Fri, Jan 21, 2022 at 12:44 PM Joe Sapp <sa...@ieee.org> wrote: > On Fri, Jan 21, 2022 at 6:03 AM John <gray...@archlinux.us> wrote: > >> When I run the simple script below, initially, there is no output to the >> shell until the function finishes. Is there a switch I can use for >> parallel so that the function outputs below the sleep command finishes? >> >> #!/bin/bash >> hash=( 1 2 3 4 5 6 7 8 9 ) >> >> getit() { >> echo "this is $1" >> sleep 1s >> } >> >> export -f getit >> parallel -j 3 getit ::: "${hash[@]}" >> > > Try `--line-buffer` or `--ungroup` as you prefer (the man page says > `--group` is the default). > > -- > Joe Sapp >