父shell和子shell
时间: 2023-10-19 20:35:03 浏览: 146
父shell和子shell是指在shell编程中的两个概念。
父shell是指当前的shell环境,是我们在命令行中输入命令时所处的环境。子shell是从当前shell环境中新开一个shell环境,也可以称为子进程,它与父shell有一定的关系。子shell会继承父shell的环境变量和其他设置,但是子shell的环境设置对父shell没有影响。也就是说,子shell中的变量等改动只在子shell中生效,并不会影响到父shell。
子shell和父shell的关系就像子进程和父进程的关系一样,只不过子shell和父shell所关联的进程是bash进程。在shell脚本中,我们可以通过开启子shell来执行一些与父shell环境隔离的操作。
需要注意的是,子shell中后台执行的函数也是在子shell中执行的。子shell所继承的父shell变量是一个副本,其改动只在子shell中生效,并不会影响到父shell。如果需要将子shell中的结果回传给父shell,则需要考虑进程间通信的方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [子shell以及什么时候进入子shell](https://blog.csdn.net/frank_jb/article/details/113486613)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文