shell中source命令与sh命令的区别
一、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命令的区别相关推荐
- 【Linux/shell】bash命令和sh命令的区别(20210109)
#注意,linux shell脚本中,首行不用指定bash类型也是可以的哦,默认就是bash,但一般是要标明bash类型的: #即:bash命令和sh命令一般是等效的: [root@centos76 ...
- shell中source与sh区别
shell中使用source conf.sh,是直接运行conf.sh的命令,不创建子shell,类似与html中include,而sh是则创建子shell, 子shell里面 的变量父shell无法 ...
- shell中source、sh、bash、./的区别
一.sh和bash的区别 sh和bash基本是一样,在我的linux环境查看,它俩是一样的: [root@unis0612p02-165 run]# ls -al `which sh` lrwxrwx ...
- Day25 linux shell中的特殊符号与命令
2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...
- shell中source的作用
source命令用法 source FileName source命令作用 在当前bash环境下读取并执行FileName中的命令. *注:该命令通常用命令"."来替代. 使用范例 ...
- 服务器脚本执行sql文件命令行,sh命令执行sql脚本
sh命令执行sql脚本 内容精选 换一换 GAUSS-51400 : "Failed to execute the command: %s."SQLSTATE: 无错误原因: 执行 ...
- shell 中常用到的基础命令
一.diff 用法: diff [options] files|directorys 输出信息: [num1,num2][a|c|d][num3,num4] num1,num2 第一个文件中的行 a ...
- linux shell unlink,linux shell中,unlink和rm命令有什么区别
strace 跑 rm 與 unlink,結果有不同地方. 1. strace rm 1.txt 片段 access("1.txt", W_OK) ...
- 关于she'll脚本中echo -e使用sh命令执会显示参数-e-的问题
今天尝试写了个简单的菜单shell脚本文件: clear echo echo -e "\t\t\tSys Admin Menu\n" echo -e "\t1. Disp ...
最新文章
- PowerToys,微软开源的超实用小工具合集
- ubuntu 10.4非法关机后上不了网
- 检测ARM板的RTC
- python ide: pycharm
- C#如何去掉字符串中所有空格
- Linux常用的挂载远程目录方案使用有感
- 云计算基础概念 笔记
- java入门第二天如何使用Elipse
- 利用FreeMarker生成java源代码
- 原生JS封装拖动验证滑块方法
- 立创开源丨无刷电机驱动FOC驱动板
- 用计算机弹出微微,电脑显示器轻微闪烁怎么办
- ping,tracert 原理
- LeetCode 6009. 使两字符串互为字母异位词的最少步骤数
- html如何调用短视频文件,短视频脚本怎么写?3种短视频脚本的创意写作方法干货分享!...
- 杭州seo工资高吗?杭州做seo工资一般多少
- 为Nextcloud中的视频文件配置缩略图
- 方大九钢携手图扑软件:数字孪生“高精尖”智慧钢厂
- oracle中的open,oracle数据库启动从nomount到open
- 【MySQL】修改配置后,重启MySQL报错[ERROR] The server quit without updating PID file
热门文章
- 二维统计matlab,Matlab中二维统计分析图和三维立体图
- java 文明5_[文明5规则 MOD] Game Speed Packet(游戏速度模式大补包)(v2, 支持资料片神佑君王1.0.1.705)...
- Unity HilightingSystem屏幕后实现物体外发光描边效果
- el-select下拉框可输入
- C# .NET .aspx获取url网址链接的参数值函数方法
- WIN7支持的node 14版本下载地址
- 读 YYCache 源码解析
- Rocket MQ详解
- 云时代架构之点融支付系统架构的演进
- xlwings处理Excel笔记