15/09/06 17:58:01.08 .net
>>38
> 引数 $1 が function の中から参照できない
> 標準では全部グローバルのスコープじゃなかったのか?
【ポイント】
シェル関数内の位置パラメータと特殊パラメータ「$#」はシェル関数内のみで有効
【説明】
シェル関数の実行には『引数』を付けることができ、シェル関数内の位置パラメ
ータと特殊パラペータ「$#」は、一時的にシェル関数の『引数』とその個数で置
き換えられる。このため、位置パラメーターと特殊パラペータ$#はシェル関数内
のみで有効。
あと、shの場合「function」は使えない、またシェル関数名の後ろに「()」がないと syntax error
$ cat bug.sh【修正版】
bug_version() { ← shの場合「function」は使えない、シェル関数名の後ろに「()」がないとダメ
echo "argument $1 can't handle in function"
}
bug_version $1 ← シェル関数に引数として渡した例
echo "argument $1 can handle out of function"
$ sh bug.sh
argument arg can't handle in function
argument arg can handle out of function