やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Shellで別ファイルの関数に引数を渡し戻り値を得る方法

これを抑えておけば最低限のコード分離はできそう。

ソースコード

CodingGround

#!/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文で書けないところがダサい。