当前位置: ManBetXapp > 百科 > 科技 >正文

linux source命令

人气:492 ℃ /2022-11-25 02:14:57

linux系统中source命令用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。下面是source命令内容的具体介绍:

1、source命令简介:

source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令,使Shell读入指定的Shell程序文件并依次执行文件中的所有语句,用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。

2、语法:

source filename 或 . filename

3、source filename 与 sh filename 及./filename执行脚本的区别:

当shell脚本具有可执行权限时,用sh filename与./filename执行脚本是没有区别的。./filename是因为当前目录没有在PATH中,所有”.”是用来表示当前目录的。

sh filename 重新建立一个子shell,在子shell中执行脚本里面的语句,该子shell继承父shell的环境变量,但子shell新建的、改变的变量不会被带回父shell,除非使用export。

source filename:这个命令其实只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。那么脚本里面所有新建、改变变量的语句都会保存在当前shell里面。

举例:

1.新建一个test.sh脚本,内容为:A=1

2.然后使其可执行chmod +x test.sh

3.运行sh test.sh后,echo $A,显示为空,因为A=1并未传回给当前shell

4.运行./test.sh后,也是一样的效果

5.运行source test.sh 或者 . test.sh,然后echo $A,则会显示1,说明A=1的变量在当前shell中

以上就是小编今天的分享了,希望可以帮助到大家。

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命令

1. 刷新当前的shell环境

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

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

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

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

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

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

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

下面在定义一个变量:

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

创建一个脚本:

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

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

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

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

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

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

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

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

[root@localhost ~]# source func.sh

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

[root@localhost ~]# footest function!

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

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

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

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

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

[root@localhost ~]# vim read.sh #!/bin/bashsource ~/var.shecho $aecho $becho $c

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

5. 读取并执行命令

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

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

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

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

[root@localhost ~]# source cmd.txt

总结

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

搜索更多有关“ linux source命令”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
CopyRight © 2008-2024 ManBetXappAll Rights Reserved. 手机版