父shell和子shell

圆括号结构

圆括号结构能够强制将其中的命令运行在子Shell中,它的基本格式为:

(

command 1

command 2

command n

)

圆括号内的n条命令在子Shell中运行,bash版本3之后定义了内部变量BASH_SUBSHELL,该变量记录了子Shell的层次

子Shell只能继承父Shell的一些属性,但是,子Shell不可能反过来改变父Shell的属性

子Shell能够从父Shell继承得来的属性如下:

当前工作目录

环境变量

标准输入、标准输出和标准错误输出

所有已打开的文件标识符

忽略的信号

子Shell不能从父Shell继承得来的属性,归纳如下:

除了环境变量和.bashrc文件中定义变量之外的Shell变量

未被忽略的信号处理

原文

http://blog.sina.com.cn/s/blog_6bd7d943010152f4.html

原文地址:https://www.cnblogs.com/mydomain/p/2868431.html