Wie interpretiere ich die Syntax des bash-Befehls "usage"?

11

Wie genau müssen Sie die Ausgabe einer Befehlsausgabe "usage" interpretieren, beispielsweise in bash.

Zum Beispiel auf meinem OS X cpgibt mir

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
  • Was zeigen die verschachtelten Optionen wie -H in -R an?
  • Hat Groß- und Kleinschreibung eine Bedeutung?
  • Wann ist ein optionales Argument erforderlich?

Ich muss eine Telnet-Befehlszeile für ein Programm von mir implementieren und möchte dies klarstellen.

raoulsson
quelle

Antworten:

15

Für alle, die verstehen möchten, was Nutzungsausgabe bedeutet, ist der beste Weg man man.

Ernsthaft :-) Nehmen Sie sich Zeit, um die Konventionen zu lernen, es hilft wirklich.

   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.
Justin
quelle
+1 Löschen meines Beitrags als überflüssig.
Warner
man manUnter CentOS 6.6 gibt es diesen Abschnitt nicht. Die Version von man manMac OS X 10.7.4 funktioniert auch nicht. Wo kann ich es finden?
Wildcard
Gefunden, es ist man man-pagesin CentOS und man manpagesunter Mac OS X (das BSD-Befehle verwendet).
Wildcard
Diese Antwort sowie der man manBefehl scheinen keine Fälle abzudecken, in denen die Eingabe eines der Elemente in einer Aufzählung sein muss. Zum Beispiel<env> - must be one of [dev | test | uat | perf | prod]
Addison
2

Erstens gibt es zwar allgemeine Konventionen, diese werden jedoch nicht einheitlich angewendet.

  • In diesem Fall ist es sagt , dass , wenn Sie verwenden -R(was „Rekursion“), dann können Sie entweder -H, -Loder -P. Wenn Sie nicht verwenden -R, sind diese Optionen nicht relevant.
  • Ja, der Fall ist fast immer wichtig. Also normalerweise -hund -Hganz andere Dinge tun.
  • Die eckigen Klammern geben im Allgemeinen an, dass eine Option oder ein Argument "optional" ist. (Die Dinge mit Bindestrichen vor ihnen sind "Optionen", die Wörter ohne Bindestriche sind Argumente.) Ohne Klammern ist die Option oder das Argument im Allgemeinen erforderlich. In Ihrem Beispiel sind sowohl "Quelldatei" als auch "Zielverzeichnis" erforderlich. Das "..." zeigt an, dass das vorherige Argument wiederholt werden kann.

Weitere erwähnenswerte Punkte:

  • Der vertikale Balken zeigt "ODER" an. Dies [-fi | -n]zeigt an, dass Sie entweder -fund / oder -iaber nicht in Kombination mit verwenden können -n.
  • Gruppierte Optionen in Klammern zeigen an, dass Sie eine von ihnen verwenden können. Dies [-apvX]zeigt an, dass Sie eine beliebige Kombination dieser Optionen verwenden können. Sie müssen nicht einmal zusammengeschlagen werden. Wäre -a -v -palso eine gültige Kombination.
Insyte
quelle