. 与 sh执行脚本的区别

news/2024/10/9 12:38:56/

先看两个脚本

    a.sh

#!/bin/bash
echo $$
A="执行了A"
echo $A
echo $B
/home/cpl/b.sh

   b.sh

#!/bin/bash
echo $$
B="执行了B"
echo $A
echo $B

使用sh分别执行两个脚本(铺垫)

执行sh a.sh

可以看出执行sh  a.sh启动了一个子进程,而a.sh并不能访问b.sh中的变量,b.sh不能访问a.sh中的变量

执行b.sh

执行sh b.sh 不能也不能访问a.sh的变量

使用. 分别执行a.sh和b.sh

执行 . a.sh

当执行的时候会出现能访问到子进程的变量的错误执行B

正确的执行过程,父进程不能访问子进程的变量

执行. b.sh

这种是错误的结果,执行过程中会把A给存到缓存中,出现可以执行A的错误

结论

当执行这两个脚本的时候会把变量存到缓存中,当使用. 的时候造成结果混乱。

再次执行的时候发现

使用. 执行的时候会把缓存中的变量给拿出来造成输出结果的错误。

. 与 sh 执行的本质的区别(重点)

修改a.sh中的执行方式 . /home/cpl/b.sh

#!/bin/bash
echo $$
A="执行了A"
echo $A
echo $B
. /home/cpl/b.sh

发现没有了子进程,变成了一个进程,b.sh可以访问到a.sh进程中的变量。

结论:

. 执行会使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。


http://www.ppmy.cn/news/778157.html

相关文章

在Linux服务器上部署的时候,一般都要有哪些脚本,这些脚本该怎么编写?

大家好,我是IT修真院深圳分院第十期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务三,深度思考中的知识点——在Linux服务器上部署的时候,一般都要有哪些脚本,这些脚本该怎么…

六类挂单一键取消脚本

转载原文:http://www.popoding.club/post/34/ MT5挂单类型有六种,能够很好地适应回调和突破场景,在一些突破策略交易系统中应用较多,当挂单条件不再有效的时候,就会涉及到挂单的取消操作。六种挂单应用说明如下&#…

GIT下载安装

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

php服务器脚本是什么,什么是服务器脚本?有什么优点

什么是服务器脚本?有什么用?本篇文章就给大家简单介绍服务器脚本,让大家知道服务器脚本是什么,有什么优点,流行服务器脚本语言有哪些。下面就开始具体内容,希望对大家有所帮助。 什么是服务器脚本&#xff…

防外挂的shell脚本

http://chlotte.blog.51cto.com/318402/544159 由于一些玩家用外挂操作或者是游戏服务器无法承载过多的玩家,导致服务器负载过高,用此脚本可以把连接过多的玩家给屏蔽掉。其实还是游戏设计的时候考虑不全,像魔兽那样,搞个排队系统…

脚本计算机术语,谁能给我简单明了的解释一下脚本是什么意思?

张雅熙i 回答数:138 | 被采纳数:105 2017-02-06 18:28:12 计算机专业术语 脚本 script 是一种宏 或是 大家通常说的脚本语言,即然是一种计算机语言也就说明了它可以进行程序的编制,而可以实现在计算机上运行。计算机语言分三个层…

客户端脚本与服务器脚本的区别

2019独角兽企业重金招聘Python工程师标准>>> 做b/s的东西,感觉首先要弄懂客户端与服务器端的交互原理(参考之前文章:http://blog.csdn.net/wang379275614/article/details/9771659 ),前台与后台的概念,前台、后台代码是如何被编译或解释的一个过程,不能云里雾…

脚本是什么意思?有什么特点?与RPA有哪些区别?

脚本是什么意思?有什么特点?与RPA有哪些区别?相信还有不少人对于这三个问题不是很清楚,今天我们小编就给大家来简单回答一下,仅供参考哦! 脚本是什么意思? 脚本简单地说就是一条条的文字命令&a…