bash 関数で戻り値を返すには、echo
コマンドを使用します。
return
コマンドは終了コードである数値(0 - 255)を返します。
他のプログラミング言語と異なるので、注意が必要です。
return
を使用した以下のスクリプト echo_double.sh
を作成します。
#!/usr/bin/env bash
test1(){
return "hoge"
}
test2(){
return "fuga"
}
echo_double(){
echo $1 $2
}
echo_double $(test1) $(test2)
これを実行すると以下のようなエラーになります。
$ bash echo_double.sh
test.sh: line 4: return: hoge: numeric argument required
test.sh: line 9: return: fuga: numeric argument required
return
と記載していたところを echo
に修正します。
#!/usr/bin/env bash
test1(){
echo "hoge"
}
test2(){
echo "fuga"
}
echo_double(){
echo $1 $2
}
echo_double $(test1) $(test2)
これで実行してみます。
$ bash echo_double.sh
hoge fuga
期待通りの結果になりました。