随笔2-----.sh里创建子bash

实际上在.sh脚本里通过bash命令创建子shell的时候并不会把环境转变到子shell,也就是说写在脚本里的bash后面的命令不会转移到子shell去执行
而是在脚本所在的shell去执行,这就解释了为什么
!#/bin/shell
bash
echo "1"
exit
bash 
echo ”2“
这个脚本不会执行到echo "2",这是因为通过bash test执行上述脚本的时候执行顺序是
1.创建一个子shell,该子shell内容是空的,因为echo "1"是属于bash test的
2.进入空bash的shell,若此时exit退出空shell,又回到bash test的shell,然后执行echo ”1“
3.由于这时环境处在bash test所以exit是通过bash test退出到最外层的shell,所以bash test的后面echo "2"也就不会被执行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值