Bash source命令(shell中source命令)

linux Bash source命令 source命令从在当前Shell环境中作为其参数指定的文件中读取并执行命令。将函数,变量和配置文件加载到Shell脚本中很有用。source是Bash内置的shell,以及Linux和UNIX操作系统中使用的其他流行shell。shell之间的行为可能略有不同。 By myfreax 15 Dec 2021

source命令从在当前Shell生态环境载入特定文本文档,做为基本参数并执行命令。将函数,变量与环境变量载入到Shell脚本中非常有利。

source是Bash内置的shell,Bash是Linux和UNIX电脑系统中最流行shell之一。shell间个人行为极有可能各有不同。

source命令句法

source命令的句法结构如下所示:

source FILENAME [ARGUMENTS]
. FILENAME [ARGUMENTS]
  • source.(一个句号是一样的命令。
  • 倘若FILENAME并非文档的一体化方式,该命令将在$PATH 生态环境变量中特定目录中搜索文件。如果是在$PATH中找不到该文件,该命令将在文件目录中搜索该文件。
  • 倘若ARGUMENTS有得到,她们将成为FILENAME的位置参数。
  • 倘若FILENAME存在,则source命令退出编号为0,要不然,如果找不到该文件,这将会返回1

source命令案例

在这里节中,我们在这里看一些有关如何使用source命令的最重要案例。

导进函数

假如你Shell脚本有着相同的函数,则可以将它们掌握到一个单独的word里,随后在脚本中载入这类函数。

在这儿案例中,我们在这里创建一个包含bash函数文档,该函数检查运行脚本的消费者是否root客户,若不是root客户,这将会说明一条消息并退出脚本。

check_root () {
  if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root" 
    exit 1
  fi
}
functions.sh

现如今,在root客户运行的脚本中,只需简单source functions.sh文本文档并开启函数就能:

#!/usr/bin/env bash
source functions.sh
check_root
echo "I am root"

假如你以非root客户身份运行之上脚本,该脚本将说明“此脚本必须以root客户身份运行”并退出。

这种方法的优点是你脚本非常小,更最易读,也可以在需要时赏识相同的函数function文本文档,并且如果需要修改函数function,则仅需撰写一个文本文档。

载入脚本变量

运用source命令,您还可以文本文档中载入变量。必须使用Bash句法设置变量VARIABLE=VALUE

让我们创建一个自然环境变量来测试:

VAR1="foo"
VAR2="bar"
config.sh

在您的bash脚本中,运用以下source命令载入自然环境变量:

#!/usr/bin/env bash
source config.sh
echo "VAR1 is $VAR1"
echo "VAR2 is $VAR2"
运用source命令载入另一个脚本的变量

倘若运行脚本,则导出来将如下所示:

VAR1 is foo
VAR2 is bar

结论

在指南中,您学会了如何source在Shell脚本中运用嵌入命令。如果您有任何问题或意见和建议,请随时。

LINUX

Linux free命令(linux free命令详解)

2023-1-19 11:49:27

LINUX

如何不需要密码运行sudo命令(如何让sudo不需要密码)

2023-1-19 11:54:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索