shift
コマンドは、シェルスクリプト内で位置パラメータを左にシフトするために使用されます。これにより、スクリプト内の引数を簡単に操作することができます。
基本的な構文は以下の通りです。
shift [n]
ここで、n
はシフトする位置パラメータの数を指定します。指定しない場合は、デフォルトで1つシフトします。
n
: シフトする位置パラメータの数を指定します。省略すると1つシフトします。以下は、shift
コマンドの実用的な例です。
#!/bin/dash
set -- arg1 arg2 arg3
echo "Before shift: $1" # 出力: arg1
shift
echo "After shift: $1" # 出力: arg2
#!/bin/dash
set -- one two three four
echo "Before shift: $1" # 出力: one
shift 2
echo "After shift: $1" # 出力: three
#!/bin/dash
set -- apple banana cherry
while [ "$#" -gt 0 ]; do
echo "Current argument: $1"
shift
done
shift
コマンドは、引数の処理を簡素化するために非常に便利です。特にループ内で使用することで、引数を一つずつ処理できます。$#
を使用して残りの引数の数をチェックすることができます。shift
を使用する際は、コメントを追加してシフトの目的を明確にしましょう。