この質問は以前に尋ねられた可能性があります...
--recursiveのようなフラグに-recursiveだけでなく2つのダッシュがあるのはなぜですか?短縮版は-rだけだと知っています。 2つのダッシュが必要になる前に、1つのダッシュを持つフラグが持つことができる最大文字数はありますか?
問題は、ls -laR
のようなことを言うことができるということです。 ls -l -a -R
と同等です。したがって、-recursive
は-r -e -c -u -r -s -i -v -e
として解釈されます。
プログラムのオプションとしてシングルダッシュまたはダブルダッシュを使用する正確なルールはありません。オプションを自分で処理することにした場合は、必要なものを実装できます。しかし、プログラマーがPITAを探しておらず、プログラムで一般的でよく認識できる方法を使用したい場合は、長いオプション(要求された長い文字列)を二重破線として処理する標準関数getopt/getopt_long
を使用します。短いオプション(単一文字)の前に単一のダッシュが付きます。関数getopt
は、C言語の<unistd.h>
の一部です。同じ関数は、一重および二点鎖線(長い)オプションの解析を利用する標準シェルman getopt 1
のUnixベースのシステムで使用できます。
2つのダッシュが必要になる前に、1つのダッシュを持つフラグが持つことができる最大文字数はありますか?
上記の機能を使用する場合、短いオプションは1文字のみにすることができます。