Hi, I found a bug in dash version 0.5.12 where when shifting more than ?#, the shell exits before evaluating a logical OR operator. To reproduce this issue: $ set -- 1 $ shift 2 || printf 'meow\n' dash: 2: shift: can't shift that many $ This also occurs using if: $ set -- 1 $ if shift 2; then > true > else > printf 'meow\n' > fi dash: 2: shift: can't shift that many $ Thanks, Emma Tebibyte