diff --git a/doc/bashref.texi b/doc/bashref.texi index c0f4a2f..8bf0ff9 100644 --- a/doc/bashref.texi +++ b/doc/bashref.texi @@ -1197,7 +1197,14 @@ This pipe is established before any redirections specified by the command (@pxref{Redirections}). The file descriptors can be utilized as arguments to shell commands and redirections using standard word expansions. -The file descriptors are not available in subshells. +The file descriptors are not available in subshells other than those +created by command and process substitutions (see the descriptions +the substitutions in @ref{Command Substitution} and +@ref{Process Substitution}, respectively). While it is not an error +to create more than one coprocess, the shell only remembers the last +one created. The forgotten coprocess(es) will have their file +descriptors available in a subshell because the subshell only closes +the file descriptors of the remembered coprocess. The process ID of the shell spawned to execute the coprocess is available as the value of the variable @env{NAME}_PID. @@ -3025,6 +3032,12 @@ shell's parent, and traps ignored by the shell are ignored A command invoked in this separate environment cannot affect the shell's execution environment. +Command substitution and process substitution are invoked in a +separate execution environment that starts as an exact duplicate of +the execution environment of the shell. As before, any command within +the separate execution environment cannot affect the shell's execution +environment. + Command substitution, commands grouped with parentheses, and asynchronous commands are invoked in a subshell environment that is a duplicate of the shell environment,