shell中的source和直接执行sh的区别
Posted lonecloud
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell中的source和直接执行sh的区别相关的知识,希望对你有一定的参考价值。
首先我们知道我们执行shell有这么几种方法
1. sh/bash使用其内置的命令集来执行一些命令,例如如下
sh demo.sh bash demo.sh
2. 使用./或者/$SHELLPATH/*.sh的方式执行
./demo.sh /home/vagrant/shell/test.sh
采用上面的方法的话需要将该方法设置为有执行权限才能执行
3. 采用source shell.sh或者. shell.sh方法执行
source demo.sh . demo.sh
这三种方法的区别
1.文件权限:第二种执行方法需要文件有x权限才能执行,其余方法不需要
2. 变量有效期:采用第三种方法执行文件,可以使得变量的有效期增长,使得其能在该用户下变量有效
以上是关于shell中的source和直接执行sh的区别的主要内容,如果未能解决你的问题,请参考以下文章
执行shell脚本三种方法的区别:(sh、exec、source)
shell中sh, exec, source, fork, ./的区别
shell命令中用source 和sh(或者bash)执行脚本的区别,以及export的作用