оболочка, стандартный интерпретатор командного языка (shell, the standard command language interpreter)
Стандартный ввод (Stdin)
The standard input shall be used only if one of the following is
true:
* The -s
option is specified.
* The -c
option is not specified and no operands are specified.
* The script executes one or more commands that require input
from standard input (such as a read command that does not
redirect its input).
See the INPUT FILES section.
When the shell is using standard input and it invokes a command
that also uses standard input, the shell shall ensure that the
standard input file pointer points directly after the command it
has read when the command begins execution. It shall not read
ahead in such a manner that any characters intended to be read by
the invoked command are consumed by the shell (whether
interpreted by the shell or not) or that characters that are not
read by the invoked command are not seen by the shell. When the
command expecting to read standard input is started
asynchronously by an interactive shell, it is unspecified whether
characters are read by the command or interpreted by the shell.
If the standard input to sh is a FIFO or terminal device and is
set to non-blocking reads, then sh shall enable blocking reads on
standard input. This shall remain in effect when the command
completes.