スクリプトで分岐したロジックを処理し、読みやすさを維持する方法は? [閉鎖]

スクリプトで分岐したロジックを処理し、読みやすさを維持する方法は? [閉鎖]

パラメータに応じてスクリプトの機能を変更する最善の方法は何ですか?
私はこれができることを意味します:

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

おすすめ記事