Linux指令-source
文章目录
- 一、概述
- 二、用途
- 1、刷新当前shell环境
- 2、在当前环境使用source执行Shell脚本
- 3、从脚本中导入一个shell功能函数
- 4、从另一个Shell脚本中读取变量
一、概述
source命令是一个内置的shell命令,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行execute命令。
source命令的作用:
- 刷新当前的shell环境
- 在当前环境中使用source执行shell脚本
- 从脚本中导入一个shell功能函数
- 从另一个shell脚本中读取变量
source命令的用法:
- source FILENAME [ARGUMENTS]
- source可替换为.
二、用途
1、刷新当前shell环境
source ~/.bash_profile
家目录下的.bash_profile 是一个隐藏文件,主要是用来配置bash shell的。source ~/.bash_profile 则可让这个配置文件在修改后立即生效。
2、在当前环境使用source执行Shell脚本
Shell脚本不知道你在当前Shell环境中定义的变量。source命令可解决这个问题。
# 定义一个变量
[root@localhost ~] url=www.baidu.com# 写测试脚本source.sh
[root@localhost ~] vi source.sh
[root@localhost ~] cat source.sh
#!/bin/sh
echo $url#此时用sh执行脚本
[root@localhost ~] sh source.sh
输出为空#用source执行脚本时,找不到环境中定义的变量
[root@localhost ~] source source.sh
www.baidu.com#用.执行脚本
[root@localhost ~] . source.sh
www.baidu.com#注意和./source.sh方式的区别
[root@localhost ~] ./ source.sh
-bash: ./source.sh:Permission denied
加可执行权限
[root@localhost ~] chmod +x source.sh
[root@localhost ~] ./ source.sh
输出为空
以上实例,除了重点source外,sh和./的区别与联系,source和.的等价也需注意。
3、从脚本中导入一个shell功能函数
#写脚本定义函数tool
[root@localhost ~] vi func.sh
#!/bin/bash
tool(){echo "function test!"
}#在当前shell中导入脚本func.sh中定义的功能
[root@localhost ~] source func.sh
[root@localhost ~] tool
function test!
4、从另一个Shell脚本中读取变量
#创建一个带有变量的脚本var.sh
[root@localhost ~] vi var.sh
#!/bin/bash
a=1
b=2
c=3#创建脚本read.sh,脚本内读取var.sh的变量
[root@localhost ~] vi read.sh
#!/bin/bash
source ~/var.sh
echo $a
echo $b
echo $c#执行read.sh查看是否成功获取
[root@localhost ~] sh read.sh
1
2
3
最后,关于exec和source:
source命令在当前shell中执行脚本,而exec命令在新的shell中运行。
Linux指令-source相关推荐
- Linux 指令大全(3)
2019独角兽企业重金招聘Python工程师标准>>> Linux 指令大全(3) 名称:/etc/aliases 使用权限:系统管理者 使用方式: 请用 newaliases 更新 ...
- 初学者必备Linux指令
初学者完成Linux系统安装以后,学习Linux操作系统必备的指令,基于Linux指令管理Linux操作系统,必备Linux指令有哪些? 基础命令相关一: Cd.ls.pwd.help.man.if. ...
- 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式
本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...
- linux 指令大全
linux 指令大全 版权信息 作者 未知 文章出处 天津linux 热线 文档制作 拒绝正版 名称 cat 使用权限 所有使用者 使用方式 cat [-AbeEnstT ...
- linux指令大全[1](转)
linux指令大全[1](转) cat cd chmod chown cp cut 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--versi ...
- linux指令大全(完整篇)
linux指令大全(完整篇) 名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName 说明:把档案串连接后传到基本 ...
- 学习大数据的第29天——Linux指令的学习以及一些面试题
学习大数据的第29天--Linux指令的学习以及积累一些面试题 Linux指令 常用命令: 查看网络 ip addr 重启网络 systemctl restart network 查看主机名 ...
- linux 指令使用大全
目录 md5sum su与su - 的区别 从windows上传下载文件 rz参数 sz参数 Linux命令行中的 符号 '\' ,' --'的作用 profile.bash_profile.bash ...
- VI使用手册及linux指令集合
vi使用手册(zt) 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开 ...
最新文章
- CNN模型 INT8 量化实现方式(一)
- Spring Boot 动态数据源(多数据源自己主动切换)
- Java学习笔记23
- mysql 事物 锁行 测试_MySQL Transaction--RC事务隔离级别下加锁测试
- pytorch索引查找 index_select
- gta5结局杀老崔我哭了_都已经2020年了,怎么还有人在买GTA5?
- 阿里巴巴有一群全年无休从不领工资的高智商员工
- python requests post请求_Pythonrequest发送post请求
- 离散对数(关于方程x^A=B(mod C)的解)
- 弱口令上传shell_emlog后台拿shell
- BaaS API 设计规范
- Vue packages version mismatch:- vue@2.6.14 - vue-template-compiler@2.6.11解决方法
- 揭密 Vue 的双向绑定
- matlab ofdm系统 过采样和欠采样,过采样和欠采样
- app支付宝接入流程图_支付宝资金预授权开通免押租赁系统,芝麻信用免押租赁app/小程序...
- 广州市二手房源数据采集和可视化分析(链家二手房)Python
- 完美卸载itunes
- caiguai docker-xware_黑科技——通过docker+xware在群辉DSM 6.0系统实现迅雷远程下载-Go语言中文社区...
- R语言 在R中实现vlookup的功能
- 奔梦向前-代码实现表白男生女生-2020-06-15
热门文章
- 怎样录制电脑内部发出的声音
- 魔龙之魂服务器无响应,魔龙之魂总是显示无法连接网络
- 字典树与双数组字典树总结
- 免拆诊断 | 2015 款宝马 730Li 车发动机抖动
- 传奇服务端在线领取战宠助手宝宝的脚本
- 词云图、动态图、统计图、玫瑰图、象形图、多渐变色柱状图、双色叠加象形图等十个图(可单独运行,直接拿来用)
- 文章分享到新浪微博,人人网,开心网和天涯社区的代码
- Nexus3.6 window版私服搭建 安装、配置教程
- iso 软件测试控制程序,最新ISO17025:2017一整套程序文件完整版(共38个程序)
- centos7/8--开机启动流程(附图片)