4.4 Special Builtins
For historical reasons, the POSIX 1003.2 standard has classified
several builtin commands as special.
When Bash is executing in POSIX mode, the special builtins
differ from other builtin commands in three respects:
Special builtins are found before shell functions during command lookup.
If a special builtin returns an error status, a non-interactive shell exits.
Assignment statements preceding the command stay in effect in the shell
environment after the command completes.
When Bash is not executing in POSIX mode, these builtins behave no
differently than the rest of the Bash builtin commands.
The Bash POSIX mode is described in section 6.11 Bash POSIX Mode.
These are the POSIX special builtins:
break : . continue eval exec exit export readonly
return set shift trap unset