有两个名称:subshell和child-shell。
是的,子进程将通过以下任何一种方式启动:
sh -c 'echo "Hello"'
( echo "hello" )
echo "$(echo "hello")
echo "hello" | cat
是否都相同并具有相同的名称?所有共享相同的属性吗?
POSIX 具有以下定义:
Shell执行环境由...组成。
但是上面链接的最后一段有:
子外壳程序环境应作为外壳程序环境的副本创建,但不忽略的信号陷阱应设置为默认操作。
特别是:
命令替换,用括号分组的命令以及异步列表应在子shell环境中执行。另外,多命令管道中的每个命令都在子shell环境中。....
其中sh -c 'echo "Hello"'
不包含,也应该称为subshell吗?