seeseekey.net - Invictus Deus Ex Machina

Manpages sind eine der praktischen Dinge auf einem Linux und Mac OS X System. Mit Hilfe des Kommandos man ist es möglich für ein Shellkommando sich die entsprechende Handbuchseite anzuzeigen. In einer solchen Manpage werden unter anderem die Parameter für ein Kommando erklärt. Dies kann dann z.B. so aussehen:

git submodule [--quiet] status [--cached] [--recursive] [--] [<path>…]

Eine Kleinigkeit irritierte mich bis vor kurzem immer an der Syntax zur Beschreibung der Parameter. Es taucht immer der Parameter:

[--]

auf. Wenn man sich in einem entsprechenden Dokument der IEEE zu dieser Syntax umschaut, so wird diese Unklarheit beseitigt. Dort wird unter Guideline 10 erklärt:

The argument — should be accepted as a delimiter indicating the end of options. Any following arguments should be treated as operands, even if they begin with the ‚-‚ character. The — argument should not be used as an option or as an operand.

Damit wird klar das die Syntax zur Trennung der Option von den folgenden Operanden dient. Sie findet bei der Nutzung eines Kommandos keine Anwendung, sondern ist nur für den Leser der Beschreibung gedacht.

2 Kommentare

  1. Oder sie ist gedacht, wenn z.B. ein Dateiname mit – beginnt und im Zweifelsfall sogar so heißt, wie eine Option.

    Antworten

  2. Das dient nicht nur der Optik, ich zitiere aus der Manpage git-log:

    > Paths may need to be prefixed with ‘`– ‚’ to separate them from options or the revision range, when confusion arises.

    Also erst die Optionen und Revisions, dann — und dann Pfade, falls dies nicht ohnehin eindeutig ist. Ich hab diese Funktionalitaet schon mehrmals benoetigt.

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.