2019-08-08 15:39:18 +0100, Geoff Clare: [....] > I have repeated it with /bin/sleep instead of sleep. It still treated the > whole AND-OR list as one job: > > $ { /bin/sleep 3 | /bin/sleep 4; /bin/sleep 1 | /bin/sleep 2; } && { > /bin/sleep 5; /bin/sleep 6; } > ^Z[1] + Stopped { /bin/sleep 3 | /bin/sleep 4; /bin/sleep 1 > | /bin/sleep 2; } && { /bin/sleep 5; /bin/sleep 6; } > $ jobs > [1] + Stopped { /bin/sleep 3 | /bin/sleep 4; /bin/sleep 1 | > /bin/sleep 2; } && { /bin/sleep 5; /bin/sleep 6; } > $ fg > { /bin/sleep 3 | /bin/sleep 4; /bin/sleep 1 | /bin/sleep 2; } && { /bin/sleep > 5; /bin/sleep 6; } [...]
What version and on which OS did you test it on? With that same command and with ksh93u+ on Debian GNU/Linux amd64, I need to press ^Z twice (if done within the first 4 seconds) to get to the prompt at which point it shows 2 jobs with the same description and "ps -l" shows suspended sleep {1,2,3,4} processes. Same for Version A 2020.0.0-alpha1-334-g12be4da2 on Ubuntu 18.04 amd64. -- Stephane