子shell和本shell
时间: 2023-08-16 21:14:23 浏览: 45
子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没有影响。也就是说,子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。