Як інтерпретувати синтаксис команди bash "використання"?


11

Як саме ви повинні інтерпретувати висновок команд "використання", наприклад, в баші.

Наприклад, на моїй ОС 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
  • Що вказують вкладені параметри, як -H в межах -R?
  • Чи має верхній і нижній регістри якесь значення?
  • Коли аргумент необов’язковий, потрібен?

Мені потрібно реалізувати командний рядок 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 видалення моєї публікації як зайвої.
Warner

man manна CentOS 6.6 немає цього розділу; також не застосовується версія man manMac OS X 10.7.4. Де я можу його знайти?
Wildcard

Знайшов це, це man man-pagesв CentOS і man manpagesв Mac OS X (який використовує команди BSD).
Wildcard

Ця відповідь, як і man manкоманда, схоже, не охоплює випадків, коли вхід повинен бути одним із пунктів перерахунку. Наприклад<env> - must be one of [dev | test | uat | perf | prod]
Аддісон

2

Перш за все, хоча існують загальні конвенції, вони не застосовуються рівномірно.

  • У цьому випадку, це говорить , що якщо ви використовуєте -R( з зазначенням «рекурсія»), то ви можете використовувати або -H, -Lабо -P. Якщо ви не використовуєте -R, то ці варіанти не стосуються.
  • Так, справа майже завжди важлива. Так зазвичай -hі -Hроблять зовсім інші речі.
  • Квадратні дужки, як правило, вказують, що параметр або аргумент є "необов'язковим". (Речі з дефісами перед ними - "варіанти", слова без дефісів - аргументи.) Без дужок опція або аргумент взагалі потрібні. У вашому прикладі необхідні і "source_file", і "target_directory". Значення "..." вказує на те, що попередній аргумент можна повторити.

Інші моменти, які варто відзначити:

  • Вертикальна смуга позначає "АБО". Так [-fi | -n]вказується, що ви можете використовувати або -fта / або, -iале не в поєднанні з -n.
  • Згруповані параметри в дужках вказують, що ви можете використовувати будь-який з них. Так [-apvX]вказується, що ви можете використовувати будь-яку комбінацію цих варіантів. Їх навіть не потрібно розбивати разом. Тож -a -v -pбуло б коректною комбінацією.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.