Shell
Last Updated: 2023-09-18
POSIX Shell
The POSIX (the Portable Operating System Interface) shell is the standard Unix shell, i.e. it was formally defined and shipped in a published standard, it has many competing implementations on many different operating systems, but are compatible.
POSIX shell is basically Bourne shell, lives at the standardized location /bin/sh
.
The POSIX standard does not recognize long flags like grep --file=FILE
, but only the short flags like grep -f
. (Because it does not define getopt_long
function, only getopt
function).
Bash: Bourne Again Shell
In many Linux distros, bash is the default shell, and /bin/sh
is symlinked to /bin/bash
.
Bash is not standardized, but there's only one implementation of bash (i.e. bash is defined by its implementation).