dshimizu/blog

アルファ版

Bash 特殊変数のメモ

忘れるのでメモ。

変数名 説明
$$ 実行シェルのプロセス番号(自分のPID)を格納する変数。
$? 最後に実行されたコマンドの終了ステータスを格納する変数。(コマンド成功時には 0 、失敗時には 1 、コマンドやエラーの種類によってはその他の数値もあり)
$! 最後に呼び出されたバックグラウンドプロセスのプロセス番号を格納する変数。
$- シェルに与えられたフラグを格納する変数。
$1 シェルスクリプト実行時に指定された引数を格納する変数。
$# シェルスクリプト実行時に指定された引数、もしくはsetコマンド実行時に指定された全パラメータが設定される変数を格納する変数。
$0 シェルスクリプト自身のファイル名フルパス。※インタラクティブシェルで実行した場合はログインシェルかどうかの値が出力される。
$n シェルスクリプトに与えられた引数を格納する変数。nは1,2,3…と指定できる。
$@ シェルスクリプト実行時に指定された全引数が設定される変数を格納する変数。デリミタを格納する環境変数 IFS にセットされた値で区切られて表示される。
$* シェルスクリプト実行時に指定された全引数が設定される変数を格納する変数。出力に関してはデリミタを格納する環境変数 IFS の影響を受けない。
${@:X:Y} 複数のパラメータのうち、X番目以降のY個のデータを取得するための変数を格納する変数。
!$ 最後に実行されたコマンドに指定していた引数を格納する変数。
$PIPESTATUS パイプで連結した各コマンドの終了ステータスが設定される変数。
$LINENO この変数を使用している行の行番号が設定される変数。

参考