Linux中shell和⼦shell⼀点点理解
Linux执⾏脚本有两种⽅式,主要区别在于是否建⽴⼦shell
1、像sh,bash,./命令是⽤来执⾏shell脚本的,在bash/sh命令下,脚本⽂件可以⽆"执⾏权限",即没有rwx中的x权限。⽽对于./命令,脚本⽂件必须要有执⾏权限。
创建⼦shell,在当前bash环境下再新建⼀个⼦shell执⾏脚本中的命令⼦shell继承⽗shell的变量,但⼦shell不能使⽤⽗shell的变量,除⾮使⽤export声明为环境变量
⼦Shell从⽗Shell继承得来的属性如下:
当前⼯作⽬录
环境变量
标准输⼊、标准输出和标准错误输出
linux执行shell命令
所有已打开的⽂件标识符
⼦Shell不能从⽗Shell继承的属性:
除环境变量和.bashrc⽂件中定义变量之外的Shell变量
2、source和.执⾏⽂件不会⽣成⼦shell
不创建⼦shell,在当前shell环境下读取并执⾏脚本中的命令,相当于顺序执⾏脚本⾥⾯的命令

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。