1. ホーム
  2. bash

[解決済み] 特殊なドル記号のシェル変数とは何ですか?

2022-03-17 12:14:23

質問

Bashでは、一貫した意味を持つ特別な値を持つ変数がいくつかあるようです。例えば、以下のようなものです。

./myprogram &; echo $!

は、バックグラウンドになったプロセスの PID を返します。 myprogram . 他にも、以下のようなものがありますね。 $? というのが現在のTTYだと思います。他にもあるのでしょうか?

解決方法は?

  • $1 , $2 , $3 は、... 位置決めパラメータ .
  • "$@" は、すべての位置決めパラメータを配列のように構成したものです。 {$1, $2, $3 ...} .
  • "$*" は、すべての位置パラメーターのIFS展開です。 $1 $2 $3 ... .
  • $# は位置決めパラメータの数です。
  • $- シェルに設定されている現在のオプション。
  • $$ 現在のシェルの pid (サブシェルではない)。
  • $_ 最も新しいパラメータ(または起動直後に現在のシェルを開始するコマンドの abs パス)。
  • $IFS は(入力)フィールドのセパレータです。
  • $? は、直近のフォアグラウンド・パイプラインの終了状態です。
  • $! は、直近のバックグラウンドコマンドのPIDです。
  • $0 はシェルまたはシェルスクリプトの名前です。

上記のほとんどは、以下の場所で確認できます。 特殊パラメータ をBashリファレンスマニュアルに追加しました。そこには、すべての シェルが設定する環境変数 .

包括的なインデックスについては リファレンスマニュアル変数インデックス .