我读到管道中的每个命令都在单独的子shell中运行。我想验证一下。因此,我运行了以下命令,并期望每个子shell进程使用不同的pid,但对所有子进程都使用相同的pid。任何人都可以解释这种行为。谢谢!
$ # Printing pid of current shell
$ echo $$
16719
$ # Creating a pipeline and expecting a different pid for each
$ echo $$ | { read pid1; echo "Pipeline Command-1 pid: $pid1, Command-2 pid: $$"; }
Pipeline Command-1 pid: 16719, Command-2 pid: 16719