温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux中Source命令的应用

发布时间:2021-06-23 14:39:39 来源:亿速云 阅读:179 作者:chen 栏目:系统运维

本篇内容主要讲解“Linux中Source命令的应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中Source命令的应用”吧!

source命令是一个内置的shell命令,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行execute命令。

source命令可用于:

  • 刷新当前的shell环境

  • 在当前环境使用source执行Shell脚本

  • 从脚本中导入环境中一个Shell函数

  • 从另一个Shell脚本中读取变量

source命令的语法

source命令它需要一个文件,如果提供了参数,那么将用作传递脚本的位置参数。

source FILENAME [ARGUMENTS]

也可以使用.替代source命令:

. FILENAME [ARGUMENTS]

如何使用source命令

一. 刷新当前的shell环境

可以在当前的shell环境中定义一个别名。为ls -al定义一个别名为ll:

[root@localhost ~]# echo "alias ll='ls -al'" >> ~/.bashrc

在~/.bashrc文件中定义完别名,可以使用source命令刷新当前shell环境:

[root@localhost ~]# source ~/.bashrc

现在可以使用ll别名列出当前目录里所有文件了,包括隐藏文件。

Linux中Source命令的应用

二. 在当前环境使用source执行Shell脚本

Shell脚本不知道你在当前Shell环境中定义的变量。source命令可用于在当前会话中执行你的Shell脚本。

下面在定义一个变量:

[root@localhost ~]# website=https://www.linuxprobe.com

Linux中Source命令的应用

创建一个脚本:

[root@localhost ~]# vim web.sh   #!/bin/bash echo $website

Linux中Source命令的应用

使用source在当前shell会话中执行它:

[root@localhost ~]# source web.sh  https://www.linuxprobe.com

Linux中Source命令的应用

当使用sh运行脚本时,找不到环境中定义的变量:

Linux中Source命令的应用

三. 从脚本中导入环境中一个Shell函数

首先创建一个脚本,定义一个函数:

[root@localhost ~]# vim func.sh  #!/bin/bash foo(){   echo "test function!" }

Linux中Source命令的应用

要在当前的shell会话中导入上述脚本的功能,使用下面命令:

[root@localhost ~]# source func.sh

下面在终端中执行以下func.sh脚本中的foo函数试试:

[root@localhost ~]# foo test function!

Linux中Source命令的应用

source完脚本之后,可以看到在当前回话的终端中可以执行脚本里面的函数。

四. 从另一个Shell脚本中读取变量

首先创建带有一些变量的shell脚本,请输入:

[root@localhost ~]# vim var.sh  #!/bin/bash a=1 b=2 c=3

Linux中Source命令的应用

再创建一个脚本,该脚本读取上一个脚本var.sh中的变量:

[root@localhost ~]# vim read.sh   #!/bin/bash source ~/var.sh echo $a echo $b echo $c

在脚本中首先使用source将var.sh中的变量到处到当前回话,然后echo显示变量值。下面执行read.sh看一下:

Linux中Source命令的应用

五. 读取并执行命令

source命令可以从文件读取和执行命令。下面的一个文本文件中带有两个命令,使用source命令运行该文件,看看是否会执行里面的命令。

下面创建一个文件cmd.txt,保存两个命令:

[root@localhost ~]# cat cmd.txt  ip ad date

下面使用source执行这个文件:

[root@localhost ~]# source cmd.txt

Linux中Source命令的应用

总 结

source命令在当前shell中执行脚本,而exec命令在新的shell中运行。

到此,相信大家对“Linux中Source命令的应用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI