要进一步增强门户网站建设合力,优化网站建设,天华集团官网,熊掌号做网站推广的注意事项在 shell 编程中#xff0c;当一个 shell 脚本被另一个 shell 脚本包含#xff0c;即用 . 或 source 命令包含#xff0c;则被包含的脚本在当前 shell 进程内执行#xff0c;并且可以访问当前 shell 进程的环境变量和函数。 此时#xff0c;$0 代表的是主脚本的名称#…在 shell 编程中当一个 shell 脚本被另一个 shell 脚本包含即用 . 或 source 命令包含则被包含的脚本在当前 shell 进程内执行并且可以访问当前 shell 进程的环境变量和函数。 此时$0 代表的是主脚本的名称而 $BASH_SOURCE 数组则包含了当前脚本的名称和被包含的脚本的名称。 因此$(dirname ${BASH_SOURCE[0]}) 用来获取当前脚本包括被包含的脚本所在目录的路径。
示例1用.命令包含脚本运行
helper.sh
# helper.sh
function greet() {echo Hello, $1
}# main.sh
. ./helper.sh
greet User
运行main.sh时将输出
Hello, User用source命令包含脚本运行
# helper.sh
function greet() {echo Hello, $1
}# main.sh
source ./helper.sh
greet User运行main.sh时也将输出
Hello, User
参考文章linux shell脚本获取脚本目录时(dirname“(dirname “(dirname“{BASH_SOURCE[0]}“)与$(dirname $0)有什么区别