Linux 中 source 命令的使用方式

admin 2021年12月22日02:06:48评论84 views字数 1694阅读5分38秒阅读模式
来自公众号:Linux就该这么学
source命令是一个内置的shell命令,用于从当前shell会话中的文件读取和执行命令。source命令通常用于保留、更改当前shell中的环境变量。简而言之,source一个脚本,将会在当前shell中运行execute命令。

Linux 中 source 命令的使用方式

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中运行。

--- EOF ---


推荐↓↓↓

本文始发于微信公众号(Linux学习):Linux 中 source 命令的使用方式

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月22日02:06:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux 中 source 命令的使用方式https://cn-sec.com/archives/465931.html

发表评论

匿名网友 填写信息