レポ
クラウドで
伸びる人沈む人

連絡特定商取引将来設計運営方針&メルマガSEの彼女は?
成功レポート集 Fedora9インストール! EclipseでJava Oracleバックアップのアーキテクチャ ゼロからHPでCGI 便利ネット知識
無料レポ&講習 IT業界の実態 linux処方箋 Java処方箋 Oracle処方箋 Perl処方箋
シェルから、他のシェルの関数を呼ぶ方法(戻り値があり)

<IT技術の処方箋:シェルから、他のシェルの関数を呼ぶ方法(戻り値があり)>



他のシェルの関数を呼び出し、
戻り値を取得する方法は大きくわけて二つあります。



一つは、return(exit)で取得する方法、
もう一つは、echo を使って取得する方法です。


return(exit)は、数字(0〜255)しか使うことができませんが、
確実に関数の処理を終了させてくれます。


echoは、処理が終了していませんが、文字列を取得することができます。


a.shから、b.shのbbbという関数を呼ぶサンプルを見てみましょう。
前提:a.shとb.shは同じディレクトリにあります。


--a.sh-----
#!/bin/bash
. ./b.sh
val=$(bbb)
echo $?
echo $val


--b.sh-----
#!/bin/bash
bbb(){
echo "XXX"
#return 251
exit 251
}


●実行結果
$ ./a.sh
251
XXX


b.shのreturnがコメントアウトしてありますが、
exitのかわりにreturnでも同じ結果になります。

exitとreturnの戻り値は、数字(0〜255)しか許されません。


※参照

シェルからシェルを呼ぶ方法
http://www.searchman.info/tips/3160.html

シェルから、他のシェルの関数を呼ぶ方法(戻り値無し)
http://www.searchman.info/tips/3170.html

シェルから、他のシェルの関数を呼ぶ方法(戻り値があり)
http://www.searchman.info/tips/3180.html

シェルや関数を、引数つけて呼ぶ方法
http://www.searchman.info/tips/3190.html
慣れてきましたか?慣れてきたら、
Linux自宅サーバーの注意点チェック

クラウドで伸びる人沈む人 ||Copyright © 2005-2020 SearchMan,All Rights Reserved.