三种执行shell的区别(source, sh script, ./script)
sh script, ./script
这两种方式执行shell的原理是一样的,都是在父进程中启动了一个子进程进行shell操作,所以在子shell脚本中产生的变量不会影响到父进程。
source
source的方式执行shell则是直接在父进程中执行的,shell脚本中修改或创建的变量在父进程中也能看到。
这就是为什么在我们修改完一些配置文件时候(/etc/profile修改环境变量)需要source /etc/profile全局才会生效