シェルスクリプトでは実行時に引数を渡すことができます。例えばシェルスクリプト「test.sh」に対して「Tom」という引数を渡して実行するには下記のようにします。
source test.sh Tom
それでは、実行時に渡された引数「Tom」をシェルスクリプト内で受け取るにはどうすればよいでしょう?
実行時に渡された引数は特殊な変数「$1」に格納されています。
よって上記のシェルスクリプトの実行結果は「hello,Tom」となります。
引数は半角スペース区切りでいくつも渡すことができます。
source test.sh Tom Kent
このとき第一引数の「Tom」は「$1」に、第二引数の「Kent」は「$2」に(以降同様に$3、$4…)格納されます。
 |
 |
・変数「$#」には、与えられた引数の数が格納されます。
・変数「$*」や変数「$@」には、全ての引数が格納されます。例えば3つの引数を渡して「source test.sh h1 h2 h3」と実行した場合、「$*」や「$@」には「h1 h2 h3」という文字列が格納されます。
|
|
|