Bash source命令
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脚本有着相同的函数,则可以将它们提取到一个单独的文件中,然后在脚本中加载这些函数。
在此示例中,我们将创建一个包含bash函数的文件,该函数检查运行脚本的用户是否是root用户,如果不是root用户,它将显示一条消息并退出脚本。
现在,在root用户运行的脚本中,只需简单地source functions.sh
文件并调用函数即可:
#!/usr/bin/env bashsource functions.sh
check_root
echo "I am root"
如果您以非root用户身份运行上述脚本,该脚本将显示“此脚本必须以root用户身份运行”并退出。
这种方法的优点是您的脚本更小,更易读,可以在需要时重用相同的函数function文件,并且如果需要修改函数function,则只需要编辑一个文件。
读取脚本变量
使用source
命令,您还可以从文件中读取变量。必须使用Bash语法设置变量VARIABLE=VALUE
。
让我们创建一个配置文件来测试:
在您的bash脚本中,使用以下source
命令读取配置文件:
如果运行脚本,则输出将如下所示:
VAR1 is fooVAR2 is bar
结论
在本指南中,您学习了如何source
在Shell脚本中使用内置命令。如果您有任何问题或反馈,请随时发表评论。
以上是 Bash source命令 的全部内容, 来源链接: utcz.com/z/507020.html