- ベストアンサー
コマンドライン引数のハイフン1つと2つの違い
今作っているプログラムにコマンドライン引数を設定しているのですが、公開するにあたり一般的な形式に揃えようと思って調べています。コマンドライン引数には次のような色々な形式がありますが /arg value -arg value --arg value これらの違いがよく分かりません。おそらくスラッシュ(/arg)とハイフン1つ(-arg)は同じではないかと思うんですが、ハイフン2つ(--arg)は何なのでしょう?指定したか否かだけが問題(値は関係ない)のブーリアン? ご存知の方、ぜひ情報提供お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
主にunix系での話になりますが ・ハイフン一つ argとして1文字ずつが意味を持つ→複数同時指定可能 valueは空白で区切って指定 +argでオプションをoffの意味になる ・ハイフン二つ argは単語、または単語をハイフンで区切ったもの valueは--arg=valueという感じで=で指定 --no-argでオプションをoffの意味になる というのが多いです。 例えば gnu lsだと -r/--reverseで逆順 -R/--recursiveで再帰的にサブディレクトリを表示 -s/--sizeでファイルサイズの表示 となりますが ls -srR と ls --size --reverse --recursive が同じ意味になります。 ただ、全てそうだというわけではなく ・ハイフン一つで複数指定不可 ・ハイフン一つで単語指定のみ ・ハイフン二つ指定が無い ・一文字オプションで小文字がOn,大文字がOff 等いろんなのがあります。 DOSプロンプト用だと/が多いですね。 /arg:valueで値指定、/arg+でOn,/arg-Off というのをよく見掛けます。 が、unix系では/はパスの区切りに使われるので、両方で使えるようなプログラムなら避けた方がいいでしょう。