linux中父shell与子shell

2020-09-23 10:13:00
六月
来源:
https://blog.csdn.net/NOStandby/article/details/82914930
转贴 935

linux默认bash shell, 是一个父shell。要创建一个子shell程序很简单,输入bash就会创建一个新的shell程序,被称为子shell。 子shell也可以再创建一个子shell,要区分是父shell还是子shell,需要ps 查看进程命令。他们的关系如图:


Linux执行Scripts有两种方式,主要区别在于是否建立子shell

1. source filename or . filename

不创建子shell,在当前shell环境下读取并执行filename中的命令,相当于顺序执行filename里面的命令

2. bash filename or ./filename

创建subshell,在当前bash环境下再新建一个子shell执行filename中的命令

子shell继承父shell的变量,但子shell不能使用父shell的变量,除非使用export

【备注:这和命名空间是相似的道理,甚至和c中的函数也有些类似】

参考: https://www.linuxidc.com/Linux/2018-09/154321.htm

https://blog.csdn.net/NOStandby/article/details/82914930

https://www.cnblogs.com/Reverse-xiaoyu/p/12122344.html

发表评论
评论通过审核后显示。