父shell与子shell
时间: 2023-04-27 16:02:54 浏览: 83
父shell和子shell是指在一个操作系统中,一个进程可以创建另一个进程,而创建者进程被称为父进程,被创建的进程被称为子进程。在Linux系统中,每个进程都有一个唯一的进程ID,父进程的ID通常比子进程的ID小。在shell中,也可以创建子shell,子shell是在当前shell中创建的一个新的shell进程,它可以执行独立的命令,但是它的环境变量和当前目录等信息都是从父shell继承而来的。子shell的执行结果也可以传递给父shell,但是父shell不能直接修改子shell的环境变量和当前目录等信息。
相关问题
父shell和子shell
父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 ]
linux下父shell和子shell
父shell和子shell是Linux操作系统中的概念。父shell是启动子shell的进程,也是子shell执行命令的父进程。子shell是在父shell环境中启动的另一个shell进程,可以用来执行一些临时的、不影响原有环境的命令。例如,在父shell中打开一个子shell,执行一些变量的赋值、文件操作等操作,关闭子shell后变量和文件的修改不会影响到父shell。
阅读全文