シェルスクリプトの位置パラメータとshiftについてです。

unix,linuxのシェルスクリプトの引数はスクリプト内で位置パラメータとして使用できます。

位置パラメータを参照するには$と0からの数字の組合せです。

$0は特別でスクリプト名、$1は1番目の引数、$2は2番目の引数、・・・

また、shiftは$1以降の位置パラメータを一つづつずらします。

一度shiftを実行すると$1はなくなり、$2が$1になり、$3が$2になり、・・・

以下、サンプル(shift.sh)です。

$ cat shift.sh
#! /bin/bash

echo "$0 $1 $2"
shift
echo "$0 $1 $2"
shift
echo "$0 $1 $2"

$ ./shift.sh hoge1 hoge2 hoge3
./shift.sh hoge1 hoge2
./shift.sh hoge2 hoge3
./shift.sh hoge3