【bash】オプションをつけた時になにかする

スポンサーリンク

オプション=hogehoge.sh -l とかの-lの部分。ls -alとかそんなやつ。
getopt関数を使うと処理できる

サンプルコード

#!/bin/bash
# --- get options ---
options=""
while getopts lr OPT
do
    case $OPT in
        "l")
            options+="hogehoge"
            ;;
        "r")
            options+="homuhomu"
            ;;
    esac
done
shift `expr $OPTIND - 1`

echo $options

-lや-rオプションをつけると変数optionsに文字列が設定される。

実行例

$ bash 01main.sh -l
hogehoge
$ bash 01main.sh -l -r
hogehogehomuhomu

以下のブログを参考にしました
bash : 引数チェック & オプション » 人工言語処理入門