Dash Wiki
Posts (Latest 10 updated) :
Read all
Contents:
  1. [日本語] Debian Almquist Shell (dash) getopts の使い方: コマンドラインオプションの解析
    1. 概要
    2. 使用法
    3. 一般的なオプション
    4. 一般的な例
      1. 例1: 短いオプションの解析
      2. 例2: 引数のないオプション
      3. 例3: 引数を持つオプション
    5. ヒント

[日本語] Debian Almquist Shell (dash) getopts の使い方: コマンドラインオプションの解析

概要

getopts コマンドは、シェルスクリプト内でコマンドラインオプションを解析するために使用されます。これにより、スクリプトに渡されたオプションや引数を簡単に処理できます。

使用法

基本的な構文は以下の通りです。

getopts [options] [arguments]

一般的なオプション

  • -a: オプションを解析する際に、引数を無視します。
  • -o: オプションの短縮形を指定します。
  • -l: 長いオプション名を指定します。

一般的な例

以下に、getopts コマンドのいくつかの実用的な例を示します。

例1: 短いオプションの解析

#!/bin/sh

while getopts "ab:c:" opt; do
  case $opt in
    a)
      echo "オプション a が指定されました"
      ;;
    b)
      echo "オプション b が指定され、引数は $OPTARG です"
      ;;
    c)
      echo "オプション c が指定され、引数は $OPTARG です"
      ;;
    *)
      echo "無効なオプション"
      ;;
  esac
done

例2: 引数のないオプション

#!/bin/sh

while getopts "a" opt; do
  case $opt in
    a)
      echo "オプション a が指定されました"
      ;;
    *)
      echo "無効なオプション"
      ;;
  esac
done

例3: 引数を持つオプション

#!/bin/sh

while getopts "f:" opt; do
  case $opt in
    f)
      echo "ファイル名は $OPTARG です"
      ;;
    *)
      echo "無効なオプション"
      ;;
  esac
done

ヒント

  • getopts は、オプションの解析を行う際に、引数の位置を自動的に管理します。これにより、スクリプトの可読性が向上します。
  • オプションの引数は、コロン : を使用して指定します。引数が必要なオプションは、コロンの後に記述します。
  • スクリプトを実行する際は、オプションの順序に注意してください。getopts は、指定された順序でオプションを解析します。