特別なパラメータや変数

スポンサーリンク

特別なパラメータには以下の表のようなものがあります。

パラメータ説明
$@位置パラメータを別々のフィールドとしてすべて出力
$*位置パラメータを一つのフィールドとしてすべて出力
また、IFS変数の最初の文字で位置パラメータを繋げる
$#位置パラメータの数
$?直前の終了ステータスを表示
$-フラグの確認
$$シェルのプロセスID
$!直前のバックグラウンドのプロセスID
$0実行中である、シェルの名前またはシェルスクリプトの名前

使い方などは別の記事で紹介されています。

Bashの$@,$#などの$から始まる特殊な変数について
Bashには、$から始まる変数が色々とあります。ここでは$から始まる特殊な変数について紹介します。$から始まる変数はよく使うものもあり、専門的っぽく見えるので知っておくと便利だと思います。
スポンサーリンク

シェル変数

POSIX を参考にすると以下の表にあるようなシェル変数があります。

変数名説明
ENVPOSIXモード時に利用。コマンドを含むファイルパスを指定し、そのコマンドを実行
HOMEユーザーのホームディレクトリのパス
IFSフィールド分割や$*のときに利用される区切り文字のリスト
LANGLC_*が未設定またはnull時のロケール環境変数のデフォルト値
LC_ALL他のLC_*やLANGより優先度が高いロケール環境変数
LC_COLLATEパターン マッチング内の範囲式、等価クラス、および複数文字の照合要素の動作のロケール環境変数
LC_CTYPE文字の分類や文字エンコーディングに関連する設定のロケール環境変数
LC_MESSAGESメッセージを記述する言語のロケール環境変数
LINENO行番号
NLSPATHLC_MESSAGES を処理するためのメッセージ カタログの場所
PATHコマンドの解釈に影響する
PPIDシェルの親プロセスID
PS1対話型シェルのコマンドが実行できるようになったときに毎回表示されるプロンプト文字列(例:$)
PS2対話型シェルでコマンドラインの入力が完了する前に<newline>を押したときに表示されるプロンプト文字列(例:>)
PS4対話型シェルでset -xの実行とレースの際に各行の前に表示されるプロンプト文字列(例:+)
PWD現在の作業ディレクトリの絶対パス

国際化変数

LANGLC_ALLLC_COLLATELC_CTYPE
LC_MESSAGESLC_MONETARYLC_NUMERICLC_TIME
NLSPATH

その他の環境変数

COLUMNSDATEMSKHOMELINES
LOGNAMEMSGVERBPATHPWD
SHELLTMPDIRTERMTZ

BASHの変数リスト

GNU Bashを参考にすると以下の表にあるようなシェル変数があります。

Bourne Shell変数

CDPATHHOMEIFSMAIL
MAILPATHOPTARGOPTINDPATH
PS1PS2

BASH変数

_COMP_POINTHISTIGNOREPOSIXLY_CORRECT
BASHCOMP_TYPEHISTSIZEPPID
BASHOPTSCOMP_KEYHISTTIMEFORMATPROMPT_COMMAND
BASHPIDCOMP_WORDBREAKSHOSTFILEPROMPT_DIRTRIM
BASH_ALIASESCOMP_WORDSHOSTNAMEPS0
BASH_ARGCCOMPREPLYHOSTTYPEPS3
BASH_ARGVCOPROCIGNOREEOFPS4
BASH_ARGV0DIRSTACKINPUTRCPWD
BASH_CMDSEMACSINSIDE_EMACSRANDOM
BASH_COMMANDENVLANGREADLINE_ARGUMENT
BASH_COMPATEPOCHREALTIMELC_ALLREADLINE_LINE
BASH_ENVEPOCHSECONDSLC_COLLATEREADLINE_MARK
BASH_EXECUTION_STRINGEUIDLC_CTYPEREADLINE_POINT
BASH_LINENOEXECIGNORELC_MESSAGESREPLY
BASH_LOADABLES_PATHFCEDITLC_NUMERICSECONDS
BASH_REMATCHFIGNORELC_TIMESHELL
BASH_SOURCEFUNCNAMELINENOSHELLOPTS
BASH_SUBSHELLFUNCNESTLINESSHLVL
BASH_VERSINFOGLOBIGNOREMACHTYPESRANDOM
BASH_VERSIONGROUPSMAILCHECKTIMEFORMAT
BASH_XTRACEFDhistcharsMAPFILETMOUT
CHILD_MAXHISTCMDOLDPWDTMPDIR
COLUMNSHISTCONTROLOPTERRUID
COMP_CWORDHISTFILEOSTYPE
COMP_LINEHISTFILESIZEPIPESTATUS