echo hello | read str
echo $str
这个read
命令是在管道之后执行的,这意味着echo
输出的内容被读入到str
中 - 但由于它在管道后面,str
的内容现在在一个子shell中,父shell无法读取。
str
的内容会发生什么? 管道是否创建了一个子shell,然后一旦将内容读入str
中,父进程就会杀死子进程并擦除str
的内容 - 还是str
的内容在外部shell中继续存在? 我们如何查看子shell中的内容? 我们可以从父shell访问子shell吗?