让脚本根据参数更改其功能的最佳方法是什么?
我的意思是我可以这样做:
if [ "$param" == "1" ]; then
# do code here
else
# do compeletely different code here
fi
但是当代码变得任意大时会发生什么?
我不期望一些面向对象的方法,只是一些保持脚本干净的好方法
答案1
这称为“分支”,而不是“分叉”。
您可以将脚本划分为函数,或者编写从主脚本调用的完全独立的子脚本。
使用函数:
handle_param_1 () {
# do stuff for param == 1
}
handle_other_cases () {
# do other stuff
}
# the above functions could be written in separate files
# that you source to import their definitions
case "$param" in
1) handle_param_1 ;;
*) handle_other_cases ;;
esac
使用单独的脚本:
case "$param" in
1) somewhere/handle_param_1 ;;
*) somewhere/handle_other_cases ;;
esac