编写一个shell脚本test.sh,内容如下

a='测试执行方式'
echo $a

方式1

使用路径的方式执行

chmod a+x test.sh
./test.sh

执行结果如下

当脚本执行之后,再执行echo $a的时候,不会得到测试执行方式这个值。因为在运行脚本的时候,是开了一个shell的子进程,脚本执行结束之后,这个子进程也结束了。再回到父进程执行echo $a是得不到任何值的。

方式2

使用sh test.sh执行脚本
执行结果如下:

此种执行方式同方式1

方式3

使用source test.sh执行脚本
执行结果如下:

可以看到,与上述两种方式不同,脚本执行结束之后,echo $a得到了相同的结果。
这是因为使用source执行shell脚本,并不会新开子进程,而是就在当前进程来执行,所以脚本执行结束之后,变量的值还能获取到

shell script执行的几种方式的更多相关文章

  1. script 执行的三种方式

    <script>: 脚本的获取和执行是同步的.此过程中页面被阻塞,停止解析. <script defer = "defer">:脚本的获取是异步的,执行是同 ...

  2. shell脚本执行的三种方式

    (1)  bash script_name 或 sh script_name    推荐使用此方法,script_name 不需要执行权限亦可执行.   (2) path/script_name 或 ...

  3. iOS:延时执行的三种方式

    延时执行的三种方式:performSelectorXXX方法.GCD中延时函数.创建定时器   第一种方式:NSObject分类当中的方法,延迟一段时间调用某一个方法 @interface NSObj ...

  4. shell script 执行常用的两种方式

    2016-11-17 直接输入脚本名执行 ./script #!/bin/bash# /root/shell/001 # 2016-11-17 test for script running name ...

  5. iOS中延时执行的几种方式的比较和汇总

    本文列举了四种延时执行某函数的方法及其一些区别.假如延时1秒时间执行下面的方法. - (void)delayMethod { NSLog(@"execute"); } 1.perf ...

  6. IOS中延时执行的几种方式的比较

    本文列举了四种延时执行某函数的方法及其一些区别.假如延时1秒时间执行下面的方法. - (void)delayMethod { NSLog(@"execute"); } 1.perf ...

  7. js中页面加载完成后执行的几种方式及执行顺序

    1:使用jQuery的$(function){}; 2:使用jquery的$(document).ready(function(){});前两者本质上没有区别,第1种是第2种的简写方式.两个是docu ...

  8. windows下建立文件的换行符^M导致linux下的shell脚本执行错误的解决方式

    常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主 ...

  9. 浅谈iOS开发中方法延迟执行的几种方式

    Method1. performSelector方法 Method2. NSTimer定时器 Method3. NSThread线程的sleep Method4. GCD 公用延迟执行方法 - (vo ...

随机推荐

  1. nginx.conf 基础配置

    ### 全局块开始### #配置允许运行nginx服务器的用户和用户组 user nobody; #配置允许nginx进程生成的worker process 数 worker_processes 1; ...

  2. 即时新闻展示插件jQuery News Ticker,超级简单!

    有时候我们为了节省页面空间,会在页面明显处放一小条,用来展示比较重要的即时新闻,一般以轮播的形式出现.今天要介绍的jQuery News Ticker插件就是用来实现这个即时新闻展示功能的,效果图如下 ...

  3. php strcmp()函数

    <? $str = "LAMP"; $str1 = "LAMPBrother"; $strc = strcmp($str,$str1); switch ( ...

  4. windows 身份登录(vs设置)

    如果您的项目是windows身份严重,前提是我们用域账户登录,不用单独做登录页功能了. 一.如果用IE访问方法: 进入:工具-Internet选项-安全-自定义级别,如下设置即可. 二.如果用Visu ...

  5. oracle05

    1. 数据处理 说完了所有的查询,下面说说增.删.改. 1.1. Update 在plsql Developer工具中,加上rowid可以更改数据. 使用工具进行更新数据的操作 在工具中更新数据方式一 ...

  6. 【codeforces】【比赛题解】#937 CF Round #467 (Div. 2)

    没有参加,但是之后几天打了哦,第三场AK的CF比赛. CF大扫荡计划正在稳步进行. [A]Olympiad 题意: 给\(n\)个人颁奖,要满足: 至少有一个人拿奖. 如果得分为\(x\)的有奖,那么 ...

  7. linux通配符,grep和 egrep区别

    其实主要是正则表达式中的一些特殊语法.在网上找的几篇文章,截取相关部分贴在了下面,方便以后翻阅. 参考:http://hi.baidu.com/sei_zhouyu/item/c18e1a950d2e ...

  8. Hyperledger Fabric1.0.0搭建

    系统环境: 阿里云新装的Centos7.2 yum -y update yum install -y openssl openssl-devel gcc gcc-c++ zlib zlib-devel ...

  9. Pytorch数据变换(Transform)

    实例化数据库的时候,有一个可选的参数可以对数据进行转换,满足大多神经网络的要求输入固定尺寸的图片,因此要对原图进行Rescale或者Crop操作,然后返回的数据需要转换成Tensor如: import ...

  10. mysql -> 索引_07

    索引与sql语句优化 压力测试对比