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 Number of Syscalls ID dash yash ash mksh bash zsh ysh osh Description 01 40 49 64 59 144 194 4571 5708 echo hi 02 90 100 114 117 207 250 4619 4619 date 03 90 100 114 131 207 250 4619 4619 date ; 04 98 112 123 132 233 278 4655 4655 date; echo hi 05 91 104 115 132 209 254 4637 4637 echo hi; date 06 132 149 158 189 268 318 4672 4672 date; date 07 132 149 158 189 292 319 4688 4688 { date; date; } 08 132 149 158 189 292 319 4688 4688 date; { date; } 09 149 171 175 198 310 373 4718 4718 . _tmp/sourced.sh 10 40 50 64 73 174 203 4571 4571 (echo hi) 11 90 101 114 133 239 256 4619 4619 (date) 12 90 102 114 133 247 262 4635 4635 ( ( date ) ) 13 98 114 123 134 249 290 4639 4639 ( ( date ) ); echo hi 14 91 105 115 134 241 260 4655 4655 echo hi; (date) 15 93 119 117 141 242 259 4646 4646 (date;) > /tmp/out.txt 16 98 113 123 146 262 287 4655 4655 (date; echo hi) 17 106 124 131 154 250 293 4660 4660 echo $(date) 18 55 73 81 93 185 237 4611 4611 echo $(echo hi) 19 106 125 131 154 279 299 4660 4660 echo $( ( date ) ) 20 114 138 140 169 282 328 4664 4664 echo $( ( date ); echo hi ) 21 48 62 73 74 176 231 4590 4590 ( echo hi ); echo done 22 157 162 183 226 318 360 4706 4706 date | wc -l 23 107 112 133 167 261 310 4657 4657 echo a | wc -l 24 107 112 133 167 261 353 4641 4641 command echo a | wc -l 25 157 170 183 226 318 360 4707 4707 command date | wc -l 26 157 162 183 226 326 367 4706 4706 ( date ) | wc -l 27 140 171 195 200 298 319 4696 4696 date | read x 28 108 115 134 168 262 289 4642 4642 { echo a; echo b; } | wc -l 29 110 132 135 169 264 320 4666 4667 { echo a; echo b; } | wc -l; echo done 30 159 167 185 241 350 344 4693 4693 { echo a; date; } | wc -l 31 108 115 134 168 262 317 4642 4642 ( echo a; echo b ) | wc -l 32 108 116 134 168 272 324 4664 4664 ( echo a; echo b ) | ( wc -l ) TOTAL 3401 3843 4237 5000 8180 9423 148892 150030