シェル(シェルスクリプト・shell script)のには$から始まる特殊な変数が存在します。今回はシェルスクリプトの特殊変数を見てみましょう。
ペンちゃん
今回はシェルスクリプトの特殊変数についてお勉強しよう!
スポンサーリンク
シェルスクリプトの特殊変数
シェルスクリプトには以下のように特別な変数があります。
特殊変数 | 意味 |
---|---|
$0 | シェルスクリプトのファイル名 |
$1 | 1 番目の引数 |
$2 | 2 番目の引数 |
$# | 引数の数 |
$? | 直前に実行されたコマンドの終了ステータス コマンドが正常終了したときには「0」が返される |
$$ | コマンド自身のPID (プロセスID) |
$! | バックグラウンドで実行されたコマンドのプロセスID |
$* | 全引数をまとめたリスト(”$1 $2 … $n”) |
$@ | 全引数の個別のリスト(”$1″ “$2″ … “$n”) |
$LINENO | この変数を使用している行の行番号 |
上記の特殊変数は参照だけ可能です。値を再代入することはできません。
シェルスクリプトの特殊変数の使用例
下記のようなexample.shを用意する。
1 2 3 4 5 6 7 8 9 10 |
#!/bin/sh echo '$0 :' $0 echo '$1 :' $1 echo '$2 :' $2 echo '$# :' $# echo '$$ :' $$ echo '$* :' $* echo '$@ :' $@ echo '$LINENO :' $LINENO echo '$? :' $? |
実行すると以下のようになる。
1 2 3 4 5 6 7 8 9 10 |
$ ./test/sample.ksh aaa bbb ccc $0 : ./test/sample.ksh $1 : aaa $2 : bbb $# : 3 $$ : 10027468 $* : aaa bbb ccc $@ : aaa bbb ccc $LINENO : 9 $? : 0 |
まとめ
シェルスクリプトには特別な変数があります。ぜひ覚えて使えるようになりましょう。
ペンちゃん
今回はシェルスクリプトの特殊変数についてお勉強したよ!