getoptまたはgetopts(「s」を含む)のどちらがより標準的ですか?

getoptまたはgetopts(「s」を含む)のどちらがより標準的ですか?

Linux財団標準ユーティリティ一覧含まれていますがgetopts含まれていませんgetopt。似ているグループを開くPosix ユーティリティのリスト。

同時に、Wikipediaの標準Unixコマンドのリスト含まれていますがgetopt含まれていませんgetopts。同様に、Linux用のWindowsサブシステム(Ubuntuベース、Debianベース)も含まれていますが、getopt含まれていませんgetoptsGNU 拡張バージョン)。

balter@spectre:~$ which getopt
/usr/bin/getopt
balter@spectre:~$ getopt -V
getopt from util-linux 2.27.1
balter@spectre:~$ which getopts
balter@spectre:~$ 

それでは、より標準的なLinuxディストリビューション(Debian、Red Hat、Ubuntu、Fedora、CentOSなど)のいずれかを使用している人にとって最も自信のあるディストリビューションを選択するには、どのようなものを選択する必要がありますか?

メモ:

組み込みと実行ファイルを説明してくれたMichaelとMuruに感謝します。私は偶然見つけました。これbash 組み込み機能がリストされています。

ベストアンサー1

which間違ったツールです。getopts通常やはり組み込み型ですね:

現在、シェル実行環境に影響を与えるため、getopts通常はシェルの一般的な組み込みとして提供されます。

~ for sh in dash ksh bash zsh; do "$sh" -c 'printf "%s in %s\n" "$(type getopts)" "$0"'; done
getopts is a shell builtin in dash
getopts is a shell builtin in ksh
getopts is a shell builtin in bash
getopts is a shell builtin in zsh

シェルスクリプトを使用している場合は、それを安全に使用できますgetoptsその他の理由片側を好むgetopts基準

また見なさい:「which」を使わないのはなぜですか?それでは何を使うべきですか?

おすすめ記事