Discussion:
Beschreibung der Parameter eine Programmes
(zu alt für eine Antwort)
Jan Novak
2019-09-03 06:32:41 UTC
Permalink
Moin,

gibt es irgendwo eine Syntaxbeschreibung, wie Parameter allgemein zu
verstehen sind?
Wenn ich in g* danach suche, finde ich nur etwas über die Verarbeitung
von Parametern.

Zum Beispiel ist welche Syntax für Parameter optional und was ist
zwingend (ich rede von den Klammern und && || usw.)

Natürlich kann man das irgendwo auch in den man Pages oder doku eines
Prg's nachlesen. Mir geht es um die kurze Syntax, die man allgemein
dafür verwendet.


Jan
Andreas Kohlbach
2019-09-03 17:04:11 UTC
Permalink
Post by Jan Novak
Moin,
Salut,
Post by Jan Novak
gibt es irgendwo eine Syntaxbeschreibung, wie Parameter allgemein zu
verstehen sind?
Wenn ich in g* danach suche, finde ich nur etwas über die Verarbeitung
von Parametern.
Zum Beispiel ist welche Syntax für Parameter optional und was ist
zwingend (ich rede von den Klammern und && || usw.)
Natürlich kann man das irgendwo auch in den man Pages oder doku eines
Prg's nachlesen. Mir geht es um die kurze Syntax, die man allgemein
dafür verwendet.
Vielleicht <https://de.wikipedia.org/wiki/Erweiterte_Backus-Naur-Form>?
--
Andreas
Jan Novak
2019-09-04 05:01:26 UTC
Permalink
Post by Andreas Kohlbach
Post by Jan Novak
Moin,
Salut,
Post by Jan Novak
gibt es irgendwo eine Syntaxbeschreibung, wie Parameter allgemein zu
verstehen sind?
Wenn ich in g* danach suche, finde ich nur etwas über die Verarbeitung
von Parametern.
Zum Beispiel ist welche Syntax für Parameter optional und was ist
zwingend (ich rede von den Klammern und && || usw.)
Natürlich kann man das irgendwo auch in den man Pages oder doku eines
Prg's nachlesen. Mir geht es um die kurze Syntax, die man allgemein
dafür verwendet.
Vielleicht <https://de.wikipedia.org/wiki/Erweiterte_Backus-Naur-Form>?
Sehr interessanter Artikel.

Jan
Andreas Kohlbach
2019-09-04 17:12:58 UTC
Permalink
Post by Jan Novak
Post by Andreas Kohlbach
Post by Jan Novak
gibt es irgendwo eine Syntaxbeschreibung, wie Parameter allgemein zu
verstehen sind?
Wenn ich in g* danach suche, finde ich nur etwas über die Verarbeitung
von Parametern.
Zum Beispiel ist welche Syntax für Parameter optional und was ist
zwingend (ich rede von den Klammern und && || usw.)
Natürlich kann man das irgendwo auch in den man Pages oder doku eines
Prg's nachlesen. Mir geht es um die kurze Syntax, die man allgemein
dafür verwendet.
Vielleicht <https://de.wikipedia.org/wiki/Erweiterte_Backus-Naur-Form>?
Sehr interessanter Artikel.
Vielleicht reicht Dir auch die normale Backus-Naur-Form aus, die auf
obiger Seite verlinkt ist.
--
Andreas
Helmut Waitzmann
2019-09-03 09:39:09 UTC
Permalink
Post by Jan Novak
gibt es irgendwo eine Syntaxbeschreibung, wie Parameter allgemein
zu verstehen sind?
[…]

Allgemein gibt es das nicht: In den RFCs wird gerne ABNF
verwendet, in den Manual Pages etwas anderes, im
POSIX‐Standard wieder etwas anderes.
Post by Jan Novak
Zum Beispiel ist welche Syntax für Parameter optional und was ist
zwingend (ich rede von den Klammern und && || usw.)
Syntax ist eigentlich nie optional. Will man ein Programm
fehlerfrei nutzen, sollte man die Syntaxbeschreibung befolgen.
Post by Jan Novak
Natürlich kann man das irgendwo auch in den man Pages oder doku
eines Prg's nachlesen.
Das tue ich jetzt mal. Ich fange bei man(1) an, und finde dort


|The table below shows the section numbers of the manual
|followed by the types of pages they contain.
|
|1 Executable programs or shell commands
|2 System calls (functions provided by the kernel)
|3 Library calls (functions within program libraries)
|4 Special files (usually found in /dev)
|5 File formats and conventions eg /etc/passwd
|6 Games
|7 Miscellaneous (including macro packages and
| conventions), e.g. man(7), groff(7)
|8 System administration commands (usually only for root)
|9 Kernel routines [Non standard]

Kapitel 7 sieht doch schon mal gut aus, besonders, da ausdrücklich
man(7) erwähnt ist. Also schlage ich man(7) mit dem Kommando

„man -- 7 man“

auf und finde dort


|For conventions that should be employed when writing man
|pages for the Linux man-pages package, see man-pages(7).

und im Abschnitt „SEE ALSO“ ebenfalls den Verweis auf
„man-pages(7)“. Also schlage ich das mit dem Kommando

„man -- 7 man-pages“

auf und finde dort


|Sections within a manual page
| The list below shows conventional or suggested sections.
| Most manual pages should include at least the
| highlighted sections.

„Highlighted“ kann ich hier nicht wiedergeben. Highlighted sind
die sections „NAME“, „SYNOPSIS“, „DESCRIPTION“ und „SEE ALSO“.


| Arrange a new manual page so that
| sections are placed in the order shown in the list.
|
| NAME
| SYNOPSIS
| CONFIGURATION [Normally only in Section 4]
| DESCRIPTION
| OPTIONS [Normally only in Sections 1, 8]
| EXIT STATUS [Normally only in Sections 1, 8]
| RETURN VALUE [Normally only in Sections 2, 3]
| ERRORS [Typically only in Sections 2, 3]
| ENVIRONMENT
| FILES
| VERSIONS [Normally only in Sections 2, 3]
| CONFORMING TO
| NOTES
| BUGS
| EXAMPLE
| SEE ALSO

„SYNOPSIS“ ist in jedem manual page der Abschnitt, der die Syntax
beschreibt. Weiter hinten im Text findet man dann noch


|SYNOPSIS briefly describes the command or
| function's interface. For commands, this
| shows the syntax of the command and its
| arguments (including options); boldface is
| used for as-is text and italics are used
| to indicate replaceable arguments.
| Brackets ([]) surround optional arguments,
| vertical bars (|) separate choices, and
| ellipses (...) can be repeated.

(„boldface“ ist fette Schrift, „italics“ ist kursive.)


Ein Beispiel: Für das Kommando „cp“ sieht das so aus:


|SYNOPSIS
| cp [OPTION]... [-T] SOURCE DEST
| cp [OPTION]... SOURCE... DIRECTORY
| cp [OPTION]... -t DIRECTORY SOURCE...

Hier ist wieder nicht zu sehen: „cp“ ist fett, „OPTION“, „SOURCE“,
„DEST“ und „DIRECTORY“ sind kursiv dargestellt.


Das wäre also für Leute, die Manual‐Pages zu lesen gewohnt sind,
eine Art, die Syntax exakt zu beschreiben.

Hilft dir das weiter?
Jan Novak
2019-09-04 05:01:12 UTC
Permalink
Post by Jan Novak
gibt es irgendwo eine Syntaxbeschreibung, wie Parameter allgemein zu
verstehen sind?
[…]
Allgemein gibt es das nicht:  In den RFCs wird gerne ABNF verwendet, in
den Manual Pages etwas anderes, im POSIX‐Standard wieder etwas anderes.
Post by Jan Novak
Zum Beispiel ist welche Syntax für Parameter optional und was ist
zwingend (ich rede von den Klammern und && || usw.)
....
Das wäre also für Leute, die Manual‐Pages zu lesen gewohnt sind, eine
Art, die Syntax exakt zu beschreiben.
Hilft dir das weiter?
Eventuell .. "man man" ... daran hatte ich gar nicht gedacht.
Danke.

Jan
Loading...