source shell脚本和bash执行shell脚本的区别

shell脚本的执行方式

  • source xx.sh
  • bash xx.sh

其他执行方式在此不展开讨论,仅对这两种执行方式做比较

区别

  • 在用bash调用脚本的时候,父进程接收到命令,发现不是内建命令,于是会创建一个和自己一模一样的shell进程来执行这个外部命令。这个子进程中设置了自己的运行的变量。而在此时,父进程的变量并没有改变。子进程执行完毕,消亡。这是一直等待的父进程来继续接收命令。
  • 而在用source来执行脚本的时候,不会创建子进程,而是在父进程中直接执行。所以当需要程序修改当前shell本身的变量的时候,使用source命令。

实例

现有如下xx.sh文件

以bash方式执行的结果:

以source方式执行的结果:

posted @   MKYC  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示