Is the shell's `source` POSIX-standard?

posix, shell, unix

Solution

It's there under "dot".

NAME

dot - execute commands in the current environment

SYNOPSIS

. file

[etc.]

Problem

I've spent some quality time searching the POSIX standard for the shell for the `source` and `.` commands, and am at this point convinced that they're just not in there. Are there any shells that don't support the `.`? What is the POSIX-standard way of executing a shell script in the current environment (i.e., not spawning a subshell, so if the script says `export VAR=value` then `VAR` exists in the calling shell)? I might be missing something obvious, but it turns out that `.` is not very easy to Google...

Original source