実行中のシェルのプロセスID。最後に実行したコマンドのリターンコード(戻り値)。シェルの実行オプション(setコマンドや#!/bin/bash行に付けたオプション。シェルが最後に実行したバックグラウンドプロセスのPID。$0や$$のように実行中のスクリプトの値も入っていますので注意してください。$0は関数の名前などではなく、元のスクリプトの名前が入っています。念のため、以下のスクリプトで試してみます。"func_param_2"これを実行した結果は以下のようになります。$$や$0は元のスクリプトに依存する値になっています。13008処理結果シェルスクリプトにおいては、ほかのプログラミング言語における戻り値のようなものはありません。代わりに、終了ステータス、標準出力を使用します。終了ステータスは正常終了であれば0、異常であればそれ以外の値というのが通常です。return文で0または1を返すことで関数の正常/異常を通知することができます。標準出力を使用して、処理結果を返すのが一般的です。ヒアドキュメント最後に関数のお話とはあまり関係ないですが、よく使用されるヒアドキュメントについて。シェルスクリプトでもヒアドキュメントを使用することが可能です。複数行のテキストを出力するといった場合、以下のように複数行を出力することも可能です。out.txt同じことを、ヒアドキュメントで行う場合は以下のようにします。文字列3行目EOF`のようにすることができます。コード解説ここまでの情報でソースコードを見ていきます。最初の部分はユーザにヘルプとして操作方法の文章を表示するところです。0}ヒアドキュメントを用いて複数行テキストを変数messageに格納してから終了しています。念のため関数が成功したら終了ステータスとして0を返しています。次の部分は、異常終了時の処理をdie関数にしています。die関数は、最初のif文で出力すべきメッセージが与えられれば、それをエラーメッセージとして出力し、そうでない場合は不明なエラーである旨の出力をおこないます。その後、共通的にusage関数を実行して、ユーザにこのシェルスクリプトの使い方の情報を表示してから終了します。最後に、異常終了のステータスである1とともにexitを用いてプログラム自体を終了します。1}シェルプログラム全体では3か所でdie関数が呼ばれますが、このように何度も実行される処理を一つの関数にまとめておくことで、エラーメッセージの出力形式を共通化したり、仕様変更時の修正箇所を関数内に限ることができます。