On Thu, Jan 10, 2019 at 12:01:10AM -0800, don fong wrote: > but on my mac, adding the sleep makes it fail reliably on the first > iteration. > > on my linux machine, it seems to succeed reliably even with the sleep - as > expected.
That's because the version of bash on Mac OS X is 3.2. Bash 3.2 does not support sourcing from a process substitution. wooledg:~$ bash-3.2 -c 'source <(echo echo hi)' wooledg:~$ bash-4.0 -c 'source <(echo echo hi)' hi Like Eduardo, I believe there is not going to be a fix for this on your vendor's version of bash, due to its age. You could install a newer version in /usr/local/bin (or another directory of your choice) and use that instead. Otherwise, you'll just have to code around the bugs and missing features of your vendor's bash.