プログラミング

シェルスクリプトの特殊変数

パソコン

シェルスクリプトの特殊変数

シェルスクリプトには以下のように特別な変数があります。

特殊変数 意味
$0 シェルスクリプトのファイル名
$1 1 番目の引数
$2 2 番目の引数
$# 引数の数
$? 直前に実行されたコマンドの終了ステータス
$$ コマンド自身のPID (プロセスID)
$! バックグラウンドで実行されたコマンドのプロセスID
$* 全引数をまとめたリスト(”$1 $2 … $n”)
$@ 全引数の個別のリスト(”$1″ “$2″ … “$n”)
$LINENO この変数を使用している行の行番号

下記のようなexample.shを用意する。

#!/bin/sh

echo $0
echo $1
echo $2
echo $#
echo $$
echo $*
echo $@
echo $LINENO
echo $?

実行すると以下のようになる。

$ ./example.sh aaa bbb ccc
example.sh
aaa
bbb
3
76464
aaa bbb ccc
aaa bbb ccc
10
0

まとめ

シェルスクリプトには特別な変数があります。ぜひ覚えて使えるようになりましょう。