复制source命令用于在当前Shell运行文件中的命令,source命令可用于将函数,变量和配置文件加载当前Shell。
复制source是Bash内置的命令,Bash是Linux和UNIX操作系统最流行Shell之一。复制source命令之间的行为可能略有不同。
在本教程中,我们将会说明如何在Linux使用source命令运行文件的命令,加载变量与函数等。
source命令
复制source命令的语法有两种,第一种是复制source FILENAME [ARGUMENTS]。第二种是复制.FILENAME [ARGUMENTS]。
复制.是复制source命令的别名。如果复制FILENAME不是文件的绝对路径,复制source命令将在复制PATH环境变量指定的目录搜索文件复制FILENAME。
如果在复制$PATH中找不到文件复制FILENAME,复制source命令将在当前目录中搜索文件复制FILENAME。
如果复制FILENAME文件存在,复制source命令退出代码为复制0。如果找不到文件复制FILENAME,复制source命令退出代码为复制1。
如果复制ARGUMENTS有给出,复制ARGUMENTS将成为复制FILENAME文件的位置参数,复制ARGUMENTS可以是一个或者多个。
source 命令加载函数
如果您的多个Shell脚本有着相同的函数,则可以将函数提取到一个单独的文件中,然后在脚本中加载这些函数。
假设当前目录存在文件functions.sh。文件包含bash函数复制check_root,用于检查运行脚本的用户是否是root用户,如果不是root用户,它将显示一条消息并退出脚本。
现在你想在另一个脚本文件使用functions.sh文件包含的复制check_root函数检查运行脚本的用户是否是root用户。
此时,你只需在脚本简单的运行命令复制source functions.sh即可将复制check_root函数加载当前Shell会话。
复制#!/usr/bin/env bash source functions.sh check_root echo “I am root” 复制check_root () { if [[ $EUID -ne 0 ]]; then echo “This script must be run as root” exit 1 fi } 复制functions.sh
source 命令加载变量
假设你当前目录存在文件config.sh。文件包含两行Shell代码,行复制name=”myfreax”设置变量复制name。复制echo “Hello ${name}!”运行echo命令打印变量复制name的值。
现在如果你想使用复制config.sh的复制name变量,可以运行命令复制source config.sh将复制name变量加载到当前Shell会话。
你也可以使用source命令的别名复制.。运行命令复制. config.sh将复制name变量加载到当前Shell会话。
复制source config.sh #eq . config.sh 复制name=“myfreax” echo “Hello ${name}!” 复制config.sh
结论
在本教程中,你了解如何在Linux使用source命令加载变量与函数,运行文件的命令。
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:如何在Linux使用source命令加载变量与函数-linux加载so库方式 https://www.yhzz.com.cn/a/6037.html