调用外部 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

2021-12-15-6.58.06.png

避免重复调用

#!/bin/bash
# test.sh
source func.sh
source func.sh
echo_color $func_var

2021-12-15-7.00.43.png

#!/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

2021-12-15-7.04.32-Csdz.png

仅调用函数和变量

#!/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

2021-12-15-7.07.14.png