Help us understand the problem. What is going on with this article?

シェルスクリプト その3

More than 3 years have passed since last update.

シェルスクリプトの関数についてのメモです。

・関数の型"foo() {comand;}"

・return [#]で戻り値を設定でき、"$?"で参照可能。戻り値を未設定の場合は関数内で最後に実行されたコマンドのステータスが代入されている。

・関数をそのまま実行すればカレントシェル、ファイルなどに結果を書き出せばサブシェルで実行する。前者のケースで実行時に関数内にファイル移動・変数変更・exitコマンドがあればカレントシェルに反映されるので要注意。

・関数内で呼んだ"$0"は関数を呼んだシェルスクリプトの名前を保持している。

・":"ヌルコマンドは何もしないで戻り値に0を必ず返す。無限ループ作成時などに使える。

・"."ドットコマンドは現行のシェルのプロセスを使って指定したファイルを実行する。

・"eval"はよくわからない。

・"exec"コマンドは引数のコマンドを新しいプロセスをつくらず、現行のシェルのプロセスと置き換えて実行する。

・"read"コマンドはキーボードからの入力を引数の変数にセットする。

・"readonly"コマンドは引数に指定したファイルを変更・unsetできなくする。

・"set"コマンドはシェルのオプションをオン・オフする。+でフラグオン。-でフラグオフ。

・"test"コマンドは条件を判定して真偽を返す。whileやifの条件判定に使う。

・"umask"コマンドはファイルを作成するときのモードを指定する。引数には3つの8進数の組み合わせをとる。

・"unset"コマンドは指定した変数・関数を消去する。

・"wait"コマンドは引数にしていした動作中のPIDが終了するまで待つ。引数未指定ならシェルから派生している子供のプロセスすべてが終わるまで待つ。

参考資料:入門UNIXシェルプログラミング 改訂第2版 第3章(発行所:SBクリエーティブ株式会社)

シェルスクリプト その1
シェルスクリプト その2
シェルスクリプト その4
シェルスクリプト その5
シェルスクリプト その6
シェルスクリプト その7

woolon
気が向いたら記事を更新しようと思います。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away