一、source命令

1.1 source命令的使用方法

source filename.sh
  • 文件没有可执行权限时,也可以使用source命令执行。
  • source命令是在当前shell中执行的,并未开启子shell。所以,被执行文filename.sh中的变量,传递到了当前的shell中。
  • .(点号)与source具有相同的功能。
source filename.sh 与
. filename.sh
功能一样

二、sh命令

2.1sh命令的使用方法

sh filename.sh
  • 文件没有可执行权限时,也可以使用sh命令执行。
  • sh命令是开启一个子shell进程,在子shell中执行脚本。变量在子shell中可以获取到,在主shell中无法获取。
  • sh命令与./(点斜杠)命令,具有相同的功效。
sh filename.sh 与
./ filename.sh
功能一样
  • ./(点斜杠)命令,需要文件具备可执行权限。

三、sh命令与source命令区别

新建一个2.sh脚本,内容如下:

#!/bin/bash
string="zhouhao"

3.1 sh命令

在当前主shell中执行命令:

sh 2.sh

查看变量string的值:

[root@zhouhao zhouhao]# echo $string

会发现无法获取变量string的值。因为sh是开启一个子shell执行脚本,变量在子shell中,并未传递到当前主shell中。

3.2 source命令

在当前主shell中执行命令:

source 2.sh

查看变量string的值:

[root@zhouhao zhouhao]# echo $string
zhouhao

可以获取变量string的值。因为,source命令是在当前主shell中执行脚本,变量就在当前主shell中,可以获取到。

shell中source命令与sh命令的区别相关推荐

  1. 【Linux/shell】bash命令和sh命令的区别(20210109)

    #注意,linux shell脚本中,首行不用指定bash类型也是可以的哦,默认就是bash,但一般是要标明bash类型的: #即:bash命令和sh命令一般是等效的: [root@centos76 ...

  2. shell中source与sh区别

    shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法 ...

  3. shell中source、sh、bash、./的区别

    一.sh和bash的区别 sh和bash基本是一样,在我的linux环境查看,它俩是一样的: [root@unis0612p02-165 run]# ls -al `which sh` lrwxrwx ...

  4. Day25 linux shell中的特殊符号与命令

    2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...

  5. shell中source的作用

    source命令用法 source FileName source命令作用 在当前bash环境下读取并执行FileName中的命令. *注:该命令通常用命令"."来替代. 使用范例 ...

  6. 服务器脚本执行sql文件命令行,sh命令执行sql脚本

    sh命令执行sql脚本 内容精选 换一换 GAUSS-51400 : "Failed to execute the command: %s."SQLSTATE: 无错误原因: 执行 ...

  7. shell 中常用到的基础命令

    一.diff 用法: diff [options] files|directorys 输出信息: [num1,num2][a|c|d][num3,num4] num1,num2 第一个文件中的行 a ...

  8. linux shell unlink,linux shell中,unlink和rm命令有什么区别

    strace 跑 rm 與 unlink,結果有不同地方. 1. strace rm 1.txt 片段 access("1.txt", W_OK)                  ...

  9. 关于she'll脚本中echo -e使用sh命令执会显示参数-e-的问题

    今天尝试写了个简单的菜单shell脚本文件: clear echo echo -e "\t\t\tSys Admin Menu\n" echo -e "\t1. Disp ...

最新文章

  1. PowerToys,微软开源的超实用小工具合集
  2. ubuntu 10.4非法关机后上不了网
  3. 检测ARM板的RTC
  4. python ide: pycharm
  5. C#如何去掉字符串中所有空格
  6. Linux常用的挂载远程目录方案使用有感
  7. 云计算基础概念 笔记
  8. java入门第二天如何使用Elipse
  9. 利用FreeMarker生成java源代码
  10. 原生JS封装拖动验证滑块方法
  11. 立创开源丨无刷电机驱动FOC驱动板
  12. 用计算机弹出微微,电脑显示器轻微闪烁怎么办
  13. ping,tracert 原理
  14. LeetCode 6009. 使两字符串互为字母异位词的最少步骤数
  15. html如何调用短视频文件,短视频脚本怎么写?3种短视频脚本的创意写作方法干货分享!...
  16. 杭州seo工资高吗?杭州做seo工资一般多少
  17. 为Nextcloud中的视频文件配置缩略图
  18. 方大九钢携手图扑软件:数字孪生“高精尖”智慧钢厂
  19. oracle中的open,oracle数据库启动从nomount到open
  20. 【MySQL】修改配置后,重启MySQL报错[ERROR] The server quit without updating PID file

热门文章

  1. 二维统计matlab,Matlab中二维统计分析图和三维立体图
  2. java 文明5_[文明5规则 MOD] Game Speed Packet(游戏速度模式大补包)(v2, 支持资料片神佑君王1.0.1.705)...
  3. Unity HilightingSystem屏幕后实现物体外发光描边效果
  4. el-select下拉框可输入
  5. C# .NET .aspx获取url网址链接的参数值函数方法
  6. WIN7支持的node 14版本下载地址
  7. 读 YYCache 源码解析
  8. Rocket MQ详解
  9. 云时代架构之点融支付系统架构的演进
  10. xlwings处理Excel笔记