如何处理脚本中的分叉逻辑并保持可读性?

如何处理脚本中的分叉逻辑并保持可读性?

让脚本根据参数更改其功能的最佳方法是什么?
我的意思是我可以这样做:

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

相关内容