[svc]彻底明白centos set&env bash&source&exec执行程序本质区别
2017-11-09 22:35
423 查看
从这个图看下env和set的本质区别
env是用户变量,可被子bash(fork的进程)继承set是bash本地变量,无法被子bash继承
本地变量包含了所有的环境env变量
本bash export name=”maotai”,则在子bash里也会env|grep name,存在, set|grep name也存在
sh 1.sh,开子bash执行完毕脚本
name="maotai" $ cat 1.sh #!/bin/bash echo $name # 未输出任何
source 1.sh,不开启子bash: source不会开子bash
name="maotai" $ cat 1.sh echo $name # 输出maotai
exec,不会开子bash,会把进程生命赋给要执行的命令
exec命令在执行时会把当前的shell process关闭,然后换到后面的命令继续执行
bash shell的命令分为两类:外部命令和内部命令
参考(很经典):http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html
http://blog.csdn.net/clozxy/article/details/5818465
下面剖析下细节
相关文章推荐
- source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- exec、source以及bash的区别
- ubuntu下source、sh、bash、./执行脚本的区别
- source、sh、bash、./执行脚本的区别
- source、sh、bash、./执行脚本的区别
- source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍
- linux 下source、sh、bash、./执行脚本的区别
- linux 下source、sh、bash、./执行脚本的区别
- source、sh、bash、./执行脚本的区别
- Linux学习之道: ubuntu下source、sh、bash、./执行脚本的区别
- ubuntu下source、sh、bash、./执行脚本的区别详细介绍
- ubuntu(linux)下source、sh、bash、./执行脚本的区别
- linux 下source、sh、bash、./执行脚本的区别
- Linux shell脚本执行方式:source、sh、bash、./执行脚本的区别
- 详解shell中source、sh、bash、./执行脚本的区别
- source、sh、bash、./执行的区别
- ubuntu(linux)下source、sh/bash、./ 和 直接 执行脚本的区别