これを抑えておけば最低限のコード分離はできそう。
ソースコード
#!/bin/bash . Sub.sh SubFunc p1 p2 p3 p4 p5 p6 p7 p8 p9 echo "return value is $?"
#!/bin/bash function SubFunc() { echo "\$0=$0" [ "$1" != "" ] && echo "\$1=$1" [ "$2" != "" ] && echo "\$2=$2" [ "$3" != "" ] && echo "\$3=$3" [ "$4" != "" ] && echo "\$4=$4" [ "$5" != "" ] && echo "\$5=$5" [ "$6" != "" ] && echo "\$6=$6" [ "$7" != "" ] && echo "\$7=$7" [ "$8" != "" ] && echo "\$8=$8" [ "$9" != "" ] && echo "\$9=$9" # 引数の数を返す return $# }
所感
引数の参照をfor文で書けないところがダサい。