bashコマンドの「使用」構文の解釈方法


11

たとえば「bash」など、コマンドの「使用」出力の出力をどの程度正確に解釈する必要がありますか。

例えば、私のOS X上で、cp私を与えます

usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file target_file
       cp [-R [-H | -L | -P]] [-fi | -n] [-apvX] source_file ... target_directory
  • -R内の-Hなどのネストされたオプションは何を示していますか?
  • 大文字と小文字には意味がありますか?
  • 引数がオプションの場合、必須ですか?

私のプログラムに対してtelnetコマンドラインを実装する必要がありますが、これをまっすぐにしたいと思います。

回答:


15

使用量の出力の意味を理解しようとしている人にとって、最善の方法はman manです。

真剣に:-)慣習を学ぶのに時間をかけてください。本当に役立ちます。

   The following conventions apply to the SYNOPSIS section and can be used
   as a guide in other sections.

   bold text          type exactly as shown.
   italic text        replace with appropriate argument.
   [-abc]             any or all arguments within [ ] are optional.
   -a|-b              options delimited by | cannot be used together.
   argument ...       argument is repeatable.
   [expression] ...   entire expression within [ ] is repeatable.

冗長として投稿を削除する+1。
ワーナー

man manCentOS 6.6では、このセクションはありません。man manMac OS X 10.7.4 のバージョンも同様です。どこで見つけることができますか?
ワイルドカード

それを見つけたのman man-pagesは、CentOSとman manpagesMac OS X(BSDコマンドを使用)です。
ワイルドカード

この回答とman manコマンドは、入力が列挙内の項目の1つでなければならない場合をカバーしていないようです。たとえば、<env> - must be one of [dev | test | uat | perf | prod]
アディソン

2

まず、一般的な規則がありますが、それらは一様に適用されません。

  • この場合、あなたが使用している場合と言っています-R(「再帰」を示す)、その後、あなたがいずれかを使用することができ-H-Lまたは-P。を使用しない場合-R、これらのオプションは関係ありません。
  • はい、ケースはほとんど常に重要です。だから、通常-h-Hは完全に異なることを行います。
  • 角括弧は、一般的にオプションまたは引数が「オプション」であることを示します。(ハイフンの前にあるものは「オプション」であり、ハイフンのない単語は引数です。)大括弧なしでは、オプションまたは引数は一般に必要です。この例では、「source_file」と「target_directory」の両方が必要です。「...」は、前の引数を繰り返すことができることを示します。

注目に値する他のポイント:

  • 垂直バーは「OR」を示します。の[-fi | -n]いずれか-fまたは両方を使用できるが、と-i組み合わせて使用できないことを示します-n
  • 括弧内のグループ化されたオプションは、それらのいずれかを使用できることを示します。したがって[-apvX]、これらのオプションを任意に組み合わせて使用​​できることを示します。彼らは一緒に粉砕する必要さえありません。したがって-a -v -p、有効な組み合わせになります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.