getopts
コマンドは、シェルスクリプト内でコマンドラインオプションを解析するために使用されます。これにより、スクリプトに渡されたオプションや引数を簡単に処理できます。
基本的な構文は以下の通りです。
getopts [options] [arguments]
-a
: オプションを解析する際に、引数を無視します。-o
: オプションの短縮形を指定します。-l
: 長いオプション名を指定します。以下に、getopts
コマンドのいくつかの実用的な例を示します。
#!/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
#!/bin/sh
while getopts "a" opt; do
case $opt in
a)
echo "オプション a が指定されました"
;;
*)
echo "無効なオプション"
;;
esac
done
#!/bin/sh
while getopts "f:" opt; do
case $opt in
f)
echo "ファイル名は $OPTARG です"
;;
*)
echo "無効なオプション"
;;
esac
done
getopts
は、オプションの解析を行う際に、引数の位置を自動的に管理します。これにより、スクリプトの可読性が向上します。:
を使用して指定します。引数が必要なオプションは、コロンの後に記述します。getopts
は、指定された順序でオプションを解析します。