linux的source命令,linux命令之Source命令

该source命令在当前Shell环境中从指定为其参数的文件中读取并执行命令。将函数,变量和配置文件加载到Shell脚本中很有用。

该source命令在当前Shell环境中从指定为其参数的文件中读取并执行命令。将函数,变量和配置文件加载到Shell脚本中很有用。

source是Bash内置的shell,以及Linux和UNIX操作系统中使用的其他流行shell。外壳之间的行为可能略有不同。

Source命令语法

该source命令的语法如下:

source FILENAME [ARGUMENTS]

. FILENAME [ARGUMENTS]

source和.(一个句点)是相同的命令。

如果FILENAME不是文件的完整路径,该命令将在$PATH 环境变量中指定的目录中搜索文件。如果在中找不到该文件,$PATH该命令将在当前目录中查找该文件。

如果ARGUMENTS有给出,它们将成为的位置参数FILENAME。

如果FILENAME存在,则source命令退出代码为0,否则,如果找不到该文件,它将返回1。

源命令示例

在本节中,我们将看一些如何使用source命令的基本示例。

Source sh脚本

如果您的Shell脚本使用的是相同的功能,则可以将它们提取到一个单独的文件中,然后在脚本中获取该文件的来源。

在此示例中,我们将创建一个包含bash函数的文件,该函数检查运行脚本的用户是否为root用户,如果不是,则显示一条消息并退出脚本。

functions.sh

check_root () {

if [[ $EUID -ne 0 ]]; then

echo "This script must be run as root"

exit 1

fi

}

现在,在每个仅需由root用户运行的脚本中,只需简单地获取functions.sh文件并调用函数即可:

#!/usr/bin/env bash

source functions.sh

check_root

echo "I am root"

如果您以非root用户身份运行上述脚本,该脚本将显示“此脚本必须以root用户身份运行”并退出。

这种方法的优点是您的脚本将更小,更易读,可以在需要时重用相同的功能文件,并且如果需要修改功能,则只能编辑一个文件。

Bash配置文件

使用该source命令,您还可以从文件中读取变量。必须使用Bash语法设置变量VARIABLE=VALUE。

让我们创建一个测试配置文件:

config.sh

VAR1="foo"

VAR2="bar"

在您的bash脚本中,使用以下source命令读取配置文件:

#!/usr/bin/env bash

source config.sh

echo "VAR1 is $VAR1"

echo "VAR2 is $VAR2"

如果运行脚本,则输出将如下所示:

VAR1 is foo

VAR2 is bar

结论

在本指南中,您学习了如何source在Shell脚本中使用内置命令。

如果您有任何疑问或反馈,请随时发表评论。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值