Bash > 関数の定義
更新日
2012-03-08
広告
関数を定義する方法を紹介します。
関数定義の構文は、以下のようになります。
function 関数名 { 任意の処理 }
以下のサンプル test.sh では、足し算を行う関数 sum を定義しています。
#!/bin/bash function sum { var=$(($1+$2)) echo $var } sum 20 10 # 関数sumの実行 result=$(sum 20 10) # 関数の実行結果を変数resultに格納 echo "result = $result"ポイントをまとめます。
- 関数内では、$1や$@などの特殊変数を利用できます。
- 関数sumは、2つの引数($1と$2)の合計を計算し(4行目)、echoで出力します(5行目)。
- 8行目で、関数sumを呼び出しています。20と10が、sumに渡す引数になります。
- 10行目で、関数sumの実行結果を、変数resultに格納しています。
test.shを実行すると以下のようになります。
$ ./test.sh 30 result = 30
関数内で定義した変数は、基本的にはグローバル変数となります($1や$@などの特殊変数は除く)。ただし、変数の前に local という前置詞を記述することで、ローカル変数を定義可能できます。
関数の終了ステータスは、以下の構文で指定できます。
return 値ただし、値には、数値しか指定できません。文字列を指定するとエラーになります。また、この値は、CやJavaにおける「返り値」とは、意味が異なります。Bashでは、上記の例のように、返り値としたい値は標準出力するほうが自然です。
広告
お問い合わせは sweng.tips@gmail.com まで。