シェルスクリプトのオプションの書き方のまとめ

スポンサーリンク
スポンサーリンク

独自のオプション解析

解析できるオプションのコマンド例

例えば、case文を用いてコマンドライン引数を解析していきます。完全な柔軟性やカスタマイズ性を持つことができ、特定のプロジェクトやニーズに合わせてオプションの処理を調整できます。
欠点としては、複雑なオプションを実装するとコードが複雑なものになる可能性があります。また、独自の解析方法を用いると一貫性を保つのが難しくなり、保守性に影響が出る可能性があります。

独自のオプション解析の例を見る

getoptsコマンドを利用したオプション解析

解析できるオプションのコマンド例

getoptsコマンドを利用したオプション解析の方法になります。特徴として、オプションをコマンドライン引数の前半に記述し、一文字のオプションを利用したシェルスクリプトが作成できます。解析できるオプションに制限があるため、簡潔なコードが書きやすいものになります。また、getoptsコマンドはbashではビルトインコマンド(組み込みコマンド)のため、コマンド自体は何も依存せずに利用できます。反面として、ロングオプションの解析を行うには別の方法を検討する必要があります。

getoptsコマンドを利用したオプション解析の例を見る

getoptコマンドを利用したオプション解析

解析できるオプションのコマンド例

getoptコマンドを利用したオプション解析の方法になります。Cのgetopt関数によく似た機能を持つコマンドになり、ショートオプションとロングオプションの両方に対応でき、POSIX規格のオプションを実装しやすいものになります。getoptコマンドは基本的に標準でインストールされている場合が多いと思いますが、外部ツールに依存していることに注意が必要になることがあるかもしれません。

getoptコマンドを利用したオプション解析の例を見る

環境変数を用いたプログラムの制御

解析できるコマンド例

または

オプションとは異なりますが、環境変数を用いることでプログラムの制御を変えることができます。ただし、環境変数は他のプログラムにも影響が出る可能性があります。この特徴をメリットとらえるかデメリットとしてとらえるかは要件によるところになるでしょう。

環境変数を用いたプログラムの制御の例を見る

よく使われる共通のオプション

仕様とかで決められているわけではありませんが、よく使われるコマンドのオプションは参考にされて、同じ名前のオプションとして実装されることがよくあります。

よく使われる共通のオプションの例を見る