オプションの周りに中括弧を使用する場合の規則/標準


9

Arch LinuxのSYNOPSISセクションのtarのmanページは以下で始まります:

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

この状況では、manページのさらに下にあるので、中括弧内のオプションの1つを指定する必要があることを完全に理解しています。相互に排他的なオプションのリストの周りに{}を使用することに関して、何らかの標準または規則がありますか?

私が見つけることができるのは、1998年のユーザーのグループチュートリアルだけmanです。

一部のオプションには選択肢の制限されたリストがあります。選択肢のリストはコンマで区切られ、中括弧で囲まれます。

{choice1、choice2} {はい、いいえ}

すべての規則(Open Groupのこの規則など)またはマニュアルページは、角かっこ([)または垂直線(|)のみを説明しているようです。


1
通常私は<>強制的だと思いますが、それはオプションではなく議論のために予約されていると思います。カウンター:UbuntuのバージョンのGNU tarマンページ(manpages.ubuntu.com/manpages/trusty/en/man1/tar.1.htmlなど)は、この形式を使用せず、linux.die.net / man /も使用しません。1 / tarまたはDebian。BSD tarのマンページをご覧になっていると思いますので、慣例があればBSDのものかもしれません。
muru、2015

arch man-pagesのアップストリームはman7.orgで、tarページはまったく同じman7.org/linux/man-pages/man1/tar.1.htmlです。
umbasa 2015

2
コマンドライン構文はENBFから出てくるといつも思っていましたが、ENBFの {}は正反対を意味します(tar状況のように1つの可能な選択肢の代わりに引数を繰り返す)。私はWindowsを目的として{}構文をグーグル化しようとしましたが、{}はWindowsで非常に一般的であるようです。それはtechnetでも説明されています。ため息、多分私は真実を見つけるために一生懸命に努力している。
umbasa 2015

回答:


4

これは素晴らしい質問です(3年経ってもまだ公開されています)。私は答えがこのGoogleドキュメント正式に答えられたと思います

  • 必要なアイテム:バケツなし
  • オプションの相互に排他的なアイテム:角括弧、パイプ区切り
  • 必要な相互に排他的なアイテム:中括弧、パイプを削除

1

相互に排他的なオプションのリストの周りで{}を使用することに何らかの標準または規則がありますか?

質問に出くわしたとき、中括弧({})で指定されたオプションと角括弧([])で指定されたオプションの意味の重要性を調査していました。それが、私が理解しようとしていること、つまり、中括弧で示されているオプションがなぜそうであるかに関して有用であると私が見つけた唯一の情報源でした。

あなたが書いたように:

この状況では、そのうちの1つだけを与える必要があることを意味します...

netstatのマニュアルページを読んだところ、オプションが、コマンドで使用できるオプションであり、コマンドでリストされる可能性のある他のオプションを使用する前に使用/記述し、リストされたオプションの1つだけであることがわかった縦棒で区切って使用できます。

上記の例は、netstatコマンドのmanページにあります。

netstat {--route | -r} [address_family_options] [--extend | -e [-extend | -e]] [--verbose | -v] [--numeric | -n] [--numeric-hosts ] [-numeric-ports] [-numeric-ports] [--continuous | -c] [delay]

ソース:netstat(8)| Linux manページ

本質的に、1つは--routeまたは-rのいずれかを使用できます(これらは同じことを意味します)が、オプションは他のリストされたオプションの前になければなりません。

質問は未解決のままのようですが、あなた自身の質問に答えたようです。

慣習は単に広く確立された慣行にすぎません。明示的に述べられていてもいなくても、この形式でman文書が定期的に見つかるという事実は、規則(上記で正しく述べたと仮定)がしっかりと確立されていることを示しています。

「標準」はありますか?それは、「標準」に採用したい定義に依存します。私にとって、ここでは用語「慣習」と「標準」の意味の違いはほとんどありません。この意味で、私はこの2つの単語を、「相互に合意され、使用され、受け入れられているもの」という線に沿ったものを意味すると見なしています。

この規則/標準を理解するのを手伝ってくれてありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.