shell中的source和直接执行sh的区别

时间:2020-12-29 09:15:27

首先我们知道我们执行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. 变量有效期:采用第三种方法执行文件,可以使得变量的有效期增长,使得其能在该用户下变量有效