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
}
现如今,在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"
在您的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脚本中运用嵌入命令。如果您有任何问题或意见和建议,请随时。
