이 두 가지 이름이 있습니다 : subshell 과 child-shell .
예, 다음 중 하나에 의해 자식 프로세스가 시작됩니다.
sh -c 'echo "Hello"'
( echo "hello" )
echo "$(echo "hello")
echo "hello" | cat
모두 동일하고 동일한 이름을 공유합니까? 모두 같은 속성을 공유합니까?
POSIX의 정의는 다음과 같습니다.
쉘 실행 환경은 ...로 구성됩니다.
그러나 위 링크의 마지막 단락은 다음과 같습니다.
서브 쉘 환경은 쉘 환경의 복제본으로 작성되어야하며, 무시되지 않는 신호 트랩은 기본 조치로 설정되어야합니다.
그리고 특별히 :
명령 대체, 괄호로 묶인 명령 및 비동기 목록은 서브 쉘 환경에서 실행되어야합니다. 또한 다중 명령 파이프 라인의 각 명령은 서브 쉘 환경에 있습니다. ....
sh -c 'echo "Hello"'
, 거기에 포함되지 않는다는는 서브 쉘을 호출해야?