Linux中source命令的使用方式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux中source命令的使⽤⽅式
source是⼀个内置的,⽤于从当前shell会话中的⽂件读取和执⾏命令。
source命令通常⽤于保留、更改当前shell中的环境变量。
简⽽⾔之,source⼀个,将会在当前shell中运⾏execute命令。
source命令可⽤于:
刷新当前的shell环境
在当前环境使⽤source执⾏Shell
从脚本中导⼊环境中⼀个Shell函数
从另⼀个Shell脚本中读取变量
source命令的语法
source命令它需要⼀个⽂件,如果提供了参数,那么将⽤作传递脚本的位置参数。
source FILENAME [ARGUMENTS]
也可以使⽤.替代source命令:
. FILENAME [ARGUMENTS]
如何使⽤source命令
1. 刷新当前的shell环境
可以在当前的shell环境中定义⼀个别名。
为ls -al定义⼀个别名为ll:
[root@localhost ~]# echo "alias ll='ls -al'" >> ~/.bashrc
在~/.bashrc⽂件中定义完别名,可以使⽤source命令刷新当前shell环境:
[root@localhost ~]# source ~/.bashrc
2. 在当前环境使⽤source执⾏Shell脚本
Shell脚本不知道你在当前Shell环境中定义的变量。
source命令可⽤于在当前会话中执⾏你的Shell脚本。
下⾯在定义⼀个变量:
[root@localhost ~]# website=https://
[root@localhost ~]# vim web.sh
#!/bin/bash
echo $website
[root@localhost ~]# source web.sh
https://
3. 从脚本中导⼊环境中⼀个Shell函数
⾸先创建⼀个脚本,定义⼀个函数:
[root@localhost ~]# vim func.sh
#!/bin/bash
foo(){
echo "test function!"
}
要在当前的shell会话中导⼊上述脚本的功能,使⽤下⾯命令:
[root@localhost ~]# source func.sh
下⾯在终端中执⾏以下func.sh脚本中的foo函数试试:
[root@localhost ~]# foo
test function!
4. 从另⼀个Shell脚本中读取变量
⾸先创建带有⼀些变量的shell脚本,请输⼊:
[root@localhost ~]# vim var.sh
#!/bin/bash
a=1
b=2
c=3
[root@localhost ~]# vim read.sh
#!/bin/bash
source ~/var.sh
echo $a
echo $b
echo $c
5. 读取并执⾏命令
source命令可以从⽂件读取和执⾏命令。
下⾯的⼀个⽂本⽂件中带有两个命令,使⽤source命令运⾏该⽂件,看看是否会执⾏⾥⾯的命令。
下⾯创建⼀个⽂件cmd.txt,保存两个命令:
[root@localhost ~]# cat cmd.txt
ip ad
date
下⾯使⽤source执⾏这个⽂件:
[root@localhost ~]# source cmd.txt
总结
source命令在当前shell中执⾏脚本,⽽exec命令在新的shell中运⾏。