调用方式
用来做函数库
如果是用来做库,脚本内只需要编写函数
用来做可执行脚本
如果要用来做可执行脚本,就在脚本的最后加上
__main__ "$@"
这种写法可以实现执行执行脚本中的函数
bash demo.sh demo 1 2 '3 4'
./demo.sh demo 1 2 '3 4'
也支持
source demo.sh
demo 7 8 '9 10'
shell脚本示例
#!/bin/bash
shell_set() {
# 严谨的执行方式
set -o nounset -o xtrace -o errexit -o pipefail
}
# 函数定义
demo() {
# 获取当前的执行函数
# 尽量使用局部变量
local function_name=${FUNCNAME[0]}
echo function_name=$function_name
echo params_count=$#
echo params="$@"
echo
echo $function_name "$@"
}
__main__() {
# 函数调用
if [ $# -gt 0 ]; then
function=$1
shift
$function "$@"
fi
}
__main__ "$@"