: ${THIS_SH:=./bash} readonly x=4 # in posix mode, these are all variable assignment errors, so strict conformance # implies that we exit after any of them. ksh93 doesn't do that. we more-or-less # emulate the ksh93 behavior x=8 notthere echo after no such command: $? x=8 echo echo builtin echo after non-special builtin: $? ( x=8 : nosuchdir echo after special builtin: $? ) ( x=8 $nocmd echo after assignment error: $? )