特別なパラメータには以下の表のようなものがあります。
| パラメータ | 説明 |
|---|---|
| $@ | 位置パラメータを別々のフィールドとしてすべて出力 |
| $* | 位置パラメータを一つのフィールドとしてすべて出力 また、IFS変数の最初の文字で位置パラメータを繋げる |
| $# | 位置パラメータの数 |
| $? | 直前の終了ステータスを表示 |
| $- | フラグの確認 |
| $$ | シェルのプロセスID |
| $! | 直前のバックグラウンドのプロセスID |
| $0 | 実行中である、シェルの名前またはシェルスクリプトの名前 |
使い方などは別の記事で紹介されています。

Bashの$@,$#などの$から始まる特殊な変数について
Bashには、$から始まる変数が色々とあります。ここでは$から始まる特殊な変数について紹介します。$から始まる変数はよく使うものもあり、専門的っぽく見えるので知っておくと便利だと思います。
シェル変数
POSIX を参考にすると以下の表にあるようなシェル変数があります。
| 変数名 | 説明 |
|---|---|
| ENV | POSIXモード時に利用。コマンドを含むファイルパスを指定し、そのコマンドを実行 |
| HOME | ユーザーのホームディレクトリのパス |
| IFS | フィールド分割や$*のときに利用される区切り文字のリスト |
| LANG | LC_*が未設定またはnull時のロケール環境変数のデフォルト値 |
| LC_ALL | 他のLC_*やLANGより優先度が高いロケール環境変数 |
| LC_COLLATE | パターン マッチング内の範囲式、等価クラス、および複数文字の照合要素の動作のロケール環境変数 |
| LC_CTYPE | 文字の分類や文字エンコーディングに関連する設定のロケール環境変数 |
| LC_MESSAGES | メッセージを記述する言語のロケール環境変数 |
| LINENO | 行番号 |
| NLSPATH | LC_MESSAGES を処理するためのメッセージ カタログの場所 |
| PATH | コマンドの解釈に影響する |
| PPID | シェルの親プロセスID |
| PS1 | 対話型シェルのコマンドが実行できるようになったときに毎回表示されるプロンプト文字列(例:$) |
| PS2 | 対話型シェルでコマンドラインの入力が完了する前に<newline>を押したときに表示されるプロンプト文字列(例:>) |
| PS4 | 対話型シェルでset -xの実行とレースの際に各行の前に表示されるプロンプト文字列(例:+) |
| PWD | 現在の作業ディレクトリの絶対パス |
国際化変数
| LANG | LC_ALL | LC_COLLATE | LC_CTYPE |
| LC_MESSAGES | LC_MONETARY | LC_NUMERIC | LC_TIME |
| NLSPATH |
その他の環境変数
| COLUMNS | DATEMSK | HOME | LINES |
| LOGNAME | MSGVERB | PATH | PWD |
| SHELL | TMPDIR | TERM | TZ |
BASHの変数リスト
GNU Bashを参考にすると以下の表にあるようなシェル変数があります。
Bourne Shell変数
| CDPATH | HOME | IFS | |
| MAILPATH | OPTARG | OPTIND | PATH |
| PS1 | PS2 |
BASH変数
| _ | COMP_POINT | HISTIGNORE | POSIXLY_CORRECT |
| BASH | COMP_TYPE | HISTSIZE | PPID |
| BASHOPTS | COMP_KEY | HISTTIMEFORMAT | PROMPT_COMMAND |
| BASHPID | COMP_WORDBREAKS | HOSTFILE | PROMPT_DIRTRIM |
| BASH_ALIASES | COMP_WORDS | HOSTNAME | PS0 |
| BASH_ARGC | COMPREPLY | HOSTTYPE | PS3 |
| BASH_ARGV | COPROC | IGNOREEOF | PS4 |
| BASH_ARGV0 | DIRSTACK | INPUTRC | PWD |
| BASH_CMDS | EMACS | INSIDE_EMACS | RANDOM |
| BASH_COMMAND | ENV | LANG | READLINE_ARGUMENT |
| BASH_COMPAT | EPOCHREALTIME | LC_ALL | READLINE_LINE |
| BASH_ENV | EPOCHSECONDS | LC_COLLATE | READLINE_MARK |
| BASH_EXECUTION_STRING | EUID | LC_CTYPE | READLINE_POINT |
| BASH_LINENO | EXECIGNORE | LC_MESSAGES | REPLY |
| BASH_LOADABLES_PATH | FCEDIT | LC_NUMERIC | SECONDS |
| BASH_REMATCH | FIGNORE | LC_TIME | SHELL |
| BASH_SOURCE | FUNCNAME | LINENO | SHELLOPTS |
| BASH_SUBSHELL | FUNCNEST | LINES | SHLVL |
| BASH_VERSINFO | GLOBIGNORE | MACHTYPE | SRANDOM |
| BASH_VERSION | GROUPS | MAILCHECK | TIMEFORMAT |
| BASH_XTRACEFD | histchars | MAPFILE | TMOUT |
| CHILD_MAX | HISTCMD | OLDPWD | TMPDIR |
| COLUMNS | HISTCONTROL | OPTERR | UID |
| COMP_CWORD | HISTFILE | OSTYPE | |
| COMP_LINE | HISTFILESIZE | PIPESTATUS |