bash中参数解析模板
1. 代码路径
位于:
2. 干什么用的?
- 在使用脚本和写脚本中,会涉及到输入参数,比如脚本 demo.sh,会有如下使用方式:
./demo.sh x64 1 2 3
./demo.sh arm64 1 2 3
./demo.sh arm32 1 2 3
- 对应脚本中
``` if [ "to$1" = "tox64" ]; then
elif [ "to$1" = "toarm64" ]; then
elif [ "to$1" = "toarm32" ]; then
fi
// 同时如没有没执行到,还有写usage ```
- 参数解析模板是统一作这件事,简单模板化
只要把函数名定义为"build"即可
功能完备,文档待续(写不完了)。
可以尝试运行
- 输入./scripts/_bash_template-auto_argv_parsing.sh ,会自动显示Usage
``` $ ./scripts/_bash_template-auto_argv_parsing.sh
Usage: bash_template-auto_argv_parsing.sh [type] ... type= arm : run func _build.arm ... type= arm32 : run func build.arm32 ... type= arm_soc : run func build.arm_soc ... type= x64 : run func build.x64 ... ```
- 输入./scripts/_bash_template-auto_argv_parsing.sh arm 1 2 3,会自动显示Usage
``` $ ./scripts/_bash_template-auto_argv_parsing.sh arm 1 2 3
FUNCNAME=build.arm, $@={1 2 3}
这是对应的_build_.arm内容: build.arm(){ echo "FUNCNAME=${FUNCNAME}, \$@={$@}" } ```