シェルスクリプトでコマンドライン引数を解析する方法


以下に、シンプルで簡単な方法とコード例を使用して、シェルスクリプト内でコマンドライン引数を解析する方法を説明します。

  1. 位置引数の解析: 位置引数は、スクリプトに渡される引数の順序で指定されます。以下の例では、スクリプトに渡される位置引数が2つある場合を考えます。
#!/bin/bash
# 位置引数の解析
arg1=$1
arg2=$2
# 解析した位置引数の利用
echo "引数1: $arg1"
echo "引数2: $arg2"

このスクリプトを実行する際に、位置引数を指定して実行することができます。

$ ./script.sh value1 value2

上記の例では、value1arg1に、value2arg2に割り当てられます。

  1. オプション引数の解析: オプション引数は、スクリプトに渡される引数の順序に関係なく、任意の順序で指定できます。以下の例では、getoptコマンドを使用してオプション引数を解析します。
#!/bin/bash
# オプション引数の解析
while getopts ":a:b:" opt; do
  case $opt in
    a) arg1=$OPTARG;;
    b) arg2=$OPTARG;;
    \?) echo "無効なオプション: -$OPTARG" >&2; exit 1;;
  esac
done
# 解析したオプション引数の利用
echo "引数a: $arg1"
echo "引数b: $arg2"

このスクリプトを実行する際に、オプション引数を指定して実行することができます。

$ ./script.sh -a value1 -b value2

上記の例では、-aオプションにvalue1が、-bオプションにvalue2が割り当てられます。

以上が、シェルスクリプトでコマンドライン引数を解析するためのシンプルで簡単な方法とコード例です。これらの方法を使用して、スクリプトの動作を柔軟に制御することができます。