Number of Processes Started, by shell and test case ID yash osh ysh zsh ash dash bash mksh osh>min Description 01 ^ ^ ^ ^ ^ ^ ^ ^ echo hi 02 ^ ^ ^ ^ ^ ^ ^ ^ date 03 ^ ^ ^ ^ ^ ^ ^ ^^ date ; 04 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ date; echo hi 05 ^ ^ ^ ^ ^ ^ ^ ^^ echo hi; date 06 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ date; date 07 ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ { date; date; } 08 ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ date; { date; } 09 ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ . _tmp/sourced.sh 10 ^ ^ ^ ^ ^ ^ ^^ ^^ (echo hi) 11 ^ ^ ^ ^ ^ ^ ^^ ^^ (date) 12 ^ ^ ^ ^ ^ ^ ^^ ^^ ( ( date ) ) 13 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ( ( date ) ); echo hi 14 ^ ^^ ^^ ^ ^ ^ ^^ ^^ 2>1 echo hi; (date) 15 ^^ ^^ ^^ ^ ^ ^ ^^ ^^ 2>1 (date;) > /tmp/out.txt 16 ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ (date; echo hi) 17 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ echo $(date) 18 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ echo $(echo hi) 19 ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^ echo $( ( date ) ) 20 ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ echo $( ( date ); echo hi ) 21 ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ( echo hi ); echo done 22 ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ date | wc -l 23 ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ echo a | wc -l 24 ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ command echo a | wc -l 25 ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ command date | wc -l 26 ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ ( date ) | wc -l 27 ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ date | read x 28 ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ { echo a; echo b; } | wc -l 29 ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ { echo a; echo b; } | wc -l; echo done 30 ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^^ ^^^^ { echo a; date; } | wc -l 31 ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^^ ^^^ ( echo a; echo b ) | wc -l 32 ^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ ^^^ 3>2 ( echo a; echo b ) | ( wc -l ) TOTAL 60 62 62 65 68 68 78 80 Cases where ... OSH isn't the minimum: 3 OSH starts more than bash: 0 OSH starts fewer than bash: 15