結論から述べると、「標準エラー出力を利用する」が答えである。が、備忘録もかねてその答えにたどり着いた経緯も含めて以下に記す。 Shellにおける関数では戻り値をとる場合、return文が利用できる。しかしこのreturn文、引数に0-255の正数しかとる事ができない。しかもこの戻り値を取得するには、関数を呼び出した後に$?変数(特殊変数)にアクセスする必要がある。 $ cat hoge.sh #!/bin/sh # # define fuction. ######################################### hoge(){ ### do something... if エラー発生; then return 1 else return 0 fi } # # main. ######################################### hoge if