シェルの特殊変数

これも良く忘れるからmemo

  1. $? - コマンド実行時の終了ステータス
    • 正常終了すれば真の値(0)
    • 以上終了すれば偽の値(0以外)
    • C言語とは真偽の値が逆なので注意
  2. $$ - 動作しているプロセスID
    • スクリプトが吐くファイルにユニークな番号を付けたい時とかに使う
    • 例) hoge > /tmp/tmp.$$
  3. $! - バックグラウンドで実行したときのプロセスID
  4. $- - シェル起動時のフラグ

3の意味がいまいち良くわからない。試してみたけど良くわからん('A`)
4は

$ echo $-

こうするとフラグは確かに確認できる。でもそのフラグの意味とか使い道は知りません。