Como interpretar a sintaxe de “uso” do comando bash?

11

Como exatamente você tem que interpretar a saída de um comando "uso" de saída, no bash por exemplo.

Por exemplo, no meu OS X, cp me 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
  • O que as opções aninhadas, como -H dentro de -R, indicam?
  • As maiúsculas e minúsculas têm algum significado?
  • Quando um argumento é opcional, necessário?

Eu preciso implementar uma linha de comando telnet contra um programa meu e eu gostaria de ter isso em mente.

    
por raoulsson 20.03.2010 / 21:42

2 respostas

15

Para quem está tentando entender o que significa saída de uso, a melhor maneira é man man .

sério :-) Aproveite o tempo para aprender as convenções, isso realmente ajuda.

   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.
    
por 20.03.2010 / 22:19
2

Em primeiro lugar, embora existam convenções gerais, elas não são aplicadas uniformemente.

  • Nesse caso, está dizendo que, se você usar -R (indicando "recursão"), poderá usar -H , -L ou -P . Se você não usa -R , essas opções não são relevantes.
  • Sim, o caso é quase sempre importante. Geralmente, -h e -H fazem coisas completamente diferentes.
  • Os colchetes geralmente indicam que uma opção ou argumento é "opcional". (As coisas com hifens na frente deles são "opções", as palavras sem hífens são argumentos.) Sem parênteses a opção ou argumento é geralmente necessária. No seu exemplo, "source_file" e "target_directory" são obrigatórios. O "..." indica que o argumento anterior pode ser repetido.

Outros pontos dignos de nota:

  • A barra vertical indica "OR". Portanto, [-fi | -n] indica que você pode usar -f e / ou -i , mas não em combinação com -n .
  • As opções agrupadas entre parênteses indicam que você pode usar qualquer uma delas. Portanto, [-apvX] indica que você pode usar qualquer combinação dessas opções. Eles nem precisam ser esmagados juntos. Então, -a -v -p seria uma combinação válida.
por 20.03.2010 / 21:51

Tags