2016/03/13 13:55:43

シェルスクリプトの特殊変数(bashにて)

目次(クリックするとジャンプします)
  • 1:bashの特殊変数
  • 1.1:特殊変数の意味
  • 1.2:表示テスト

bashの特殊変数

シェルスクリプトでは引数等を便利に扱えるように予め容易されている変数があります。 スクリプトを書く中でも重要な変数なので、しっかり覚えたいです。

特殊変数の意味

表にしてみました。詳しくはやはりbashのmanを見るのが一番かと思いマス。

特殊変数 意味
$# 引数の個数
$1 ~ $n 引数(1個目,,,n個目)
$* シェルスクリプト実行時全パラメータが設定される変数
$@ シェルスクリプト実行時全パラメータが設定される変数(二重引用符で囲んだ時に$*と挙動が異なる)
$0 実行時のコマンド名
$? コマンドの戻り値
$- setで設定されたオプション

表示テスト

試しにこんな感じのスクリプトを書いてみました。

#!/bin/bash                                                                                                                                      
echo $#                                                                                                                                           
echo $4                                                                                                                                           
echo $*                                                                                                                                           
echo $@                                                                                                                                           
echo $0                                                                                                                                           
echo $?
echo $-

こんな感じの表示なりました。

$ bash arsh.sh parm1 pram2 pram3 pram4

4 
pram4 
parm1 pram2 pram3 pram4 
parm1 pram2 pram3 pram4
arsh.sh
0
hB

シェルスクリプトで書いたとおり、上から順に

  • 引数が4つであること
  • 引数の4つ目
  • 全引数
  • 全引数
  • コマンド名
  • 戻り値
  • オプション

で出力されていますね。

頑張ってスクリプトたくさん書こうっと。