Linux中shell和子shell一点点理解

Linux执行脚本有两种方式,主要区别在于是否建立子shell
 
1、像sh,bash,./命令是用来执行shell脚本的,在bash/sh命令下,脚本文件可以无"执行权限",即没有rwx中的x权限。而对于./命令,脚本文件必须要有执行权限。
      创建子shell,在当前bash环境下再新建一个子shell执行脚本中的命令子shell继承父shell的变量,但子shell不能使用父shell的变量,除非使用export声明为环境变量
      子Shell从父Shell继承得来的属性如下:
               当前工作目录
               环境变量
               标准输入、标准输出和标准错误输出
               所有已打开的文件标识符
       子Shell不能从父Shell继承的属性:
               除环境变量和.bashrc文件中定义变量之外的Shell变量
 
2、source和.执行文件不会生成子shell
     不创建子shell,在当前shell环境下读取并执行脚本中的命令,相当于顺序执行脚本里面的命令

转载于:https://www.cnblogs.com/python2687806834/p/9957050.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值