调用外部 Shell 脚本的函数及变量
mkdir test && cd test
touch {func,test}.sh
chmod +x {func,test}.sh
#!/bin/bash
# func.sh
function echo_color(){
local msg=$1
echo -e "\033[1;31m${msg}\033[0m"
}
func_var=123
echo 456
#!/bin/bash
# test.sh
source func.sh
echo_color $func_var

避免重复调用
#!/bin/bash
# test.sh
source func.sh
source func.sh
echo_color $func_var

#!/bin/bash
# func.sh
function echo_color(){
local msg=$1
echo -e "\033[1;31m${msg}\033[0m"
}
if [ -n "$func_var" ]; then
return
fi
func_var=123
echo 456

仅调用函数和变量
#!/bin/bash
# func.sh
function echo_color(){
local msg=$1
echo -e "\033[1;31m${msg}\033[0m"
}
if [ -n "$func_var" ]; then
return
fi
func_var=123
if [ "$BASH_SOURCE" == $0 ]; then
echo 456
fi

原创
shell 脚本 source 技巧
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
赞赏支持
如果觉得文章对你有帮助,可以请作者喝杯咖啡 ☕
评论交流
欢迎留下你的想法