I'm probably gonna use this issue to document differences that I've noticed between our shell and other shells, so it'll be edited/added to over time.
shift in function
Input
fn() { shift; echo hello; }
fn
Results
mesabox
illegal number "1"
hello
bash
hello
zsh
fn:shift: shift count must be <= $#
hello
dash
Notice that dash does not print hello at all. I didn't notice this in the specification, so I'm not actually sure if this is correct behavior (other built-ins like trap let the function continue normally).
I'm probably gonna use this issue to document differences that I've noticed between our shell and other shells, so it'll be edited/added to over time.
shift
in functionInput
Results
mesabox
bash
zsh
dash
Notice that
dash
does not printhello
at all. I didn't notice this in the specification, so I'm not actually sure if this is correct behavior (other built-ins liketrap
let the function continue normally).