您的位置:首页 > 其它

script的执行方式的区别

2015-09-29 16:38 169 查看
上节简单的介绍了script的编程,那我写完一个.sh文件怎么运行呢?

不同的 script 执行方式会造成不一样的结果!尤其影响 bash 的环境很大呢!脚本的执行方式除了前面sh或bash命令外,还可以用 source 和小数点 (.) 来执行喔!那这种执行方式有何不同呢?

1、用直接执行的方式来执行 script

当使用直接指令下达 (绝对路径/相对路径还是 $PATH 内),或用 bash (或 sh) 来下达脚本时, 该 script 都会使用一个新的 bash 环境来执行脚本内的指令!也就是说,使用这种执行方式时, 其实 script 是在子程序的 bash 内执行的!当子程序完成后,在子程序内的各项变量生命周期将会结束而不会传回父程序中!

2、用 source 来执行脚本:直接在父程序中执行

如果你使用 source 来执行指令那就不一样了!因为 source 对 script 的执行方式可以使用底下的图示来说明! sh02.sh 会在父程序中执行的,因此各项变量的作用域都会在原本的 bash 内生效!这也是为啥你不注销系统也可以写入~/.bashrc 的设定生效时,需要使用『 source ~/.bashrc 』而不能使用『 bash ~/.bashrc 』
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: