Come interpretare la sintassi del comando bash "utilizzo"?


11

Come si deve interpretare esattamente l'output di un output di "utilizzo" dei comandi, ad esempio in bash.

Ad esempio, sul mio OS X, cpmi dà

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
  • Cosa indicano le opzioni nidificate, come -H all'interno di -R?
  • Le maiuscole e minuscole hanno qualche significato?
  • Quando è richiesto un argomento opzionale?

Devo implementare una riga di comando telnet rispetto a un mio programma e vorrei chiarirlo.

Risposte:


15

Per chiunque cerchi di capire cosa significhi l'output di utilizzo, il modo migliore è farlo man man.

seriamente :-) Prenditi il ​​tempo per imparare le convenzioni, aiuta davvero.

   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 eliminando il mio post come ridondante.
Warner,

man mansu CentOS 6.6 non ha questa sezione; né la versione di man manMac OS X 10.7.4. Dove posso trovarlo?
Wildcard

Trovato, è man man-pagesin CentOS e man manpagessu Mac OS X (che utilizza i comandi BSD).
Wildcard

Questa risposta, così come il man mancomando, non sembra coprire i casi in cui l'input deve essere uno degli elementi in un elenco. Ad esempio<env> - must be one of [dev | test | uat | perf | prod]
Addison l'

2

Prima di tutto, mentre ci sono convenzioni generali, non vengono applicate in modo uniforme.

  • In questo caso, si sta dicendo che se si utilizza -R(che indica "ricorsione"), quindi è possibile utilizzare -H, -Lo -P. Se non si utilizza -R, tali opzioni non sono rilevanti.
  • Sì, il caso è quasi sempre importante. Quindi di solito -he -Hfare cose completamente diverse.
  • Le parentesi quadre indicano generalmente che un'opzione o un argomento è "facoltativo". (Le cose con trattini di fronte sono "opzioni", le parole senza trattini sono argomenti.) Senza parentesi l'opzione o l'argomento sono generalmente richiesti. Nel tuo esempio, sono richiesti sia "source_file" che "target_directory". Il "..." indica che l'argomento precedente può essere ripetuto.

Altri punti da notare:

  • La barra verticale indica "OR". Quindi [-fi | -n]indica che è possibile utilizzare -fe e / o -ima non in combinazione con -n.
  • Le opzioni raggruppate tra parentesi indicano che puoi usarne una qualsiasi. Quindi [-apvX]indica che è possibile utilizzare qualsiasi combinazione di tali opzioni. Non hanno nemmeno bisogno di essere fracassati insieme. Quindi -a -v -psarebbe una combinazione valida.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.