シェルのプログラムの中に、実行する時のオプションや、ファイル名などを 取り込むには
という特別な変数を使用する。
たとえば、test.shというシェルのプログラムがあったとして
# test.sh -o tmp1 file1
と実行した時に
-o tmp1 file1
という、test.shの後ろについている、オプションやファイル名などを test.shの中で使用するには
#!/bin/csh -f
set i = 1
while($i <= $#argv)
switch($argv[$i])
case -o :
@ i ++
set option = $argv[$i]
breaksw
default :
set filename = $argv[$i]
breaksw
endsw
@ i ++
end
以下プログラムが続く
.
.
というプログラムでtmp1がoption、file1がfilename という名前の変数に代入できる。 このプログラムの中で、わざわざwhileやswitchなどを使用しているのは、もし -o tmp1が省略されていても、ちゃんとfilenameが代入できるようにするためである。