Diferença entre “-” e “-” parâmetros de linha de comando prefixados? [duplicado]

1
    

Esta pergunta já tem uma resposta aqui:

    

Os scripts na linha de comando oferecem uma ampla gama de tipos de parâmetros. Frequentemente, os parâmetros podem ser passados para o script via "- [parameter]" ou "- [parameter]". Mas qual é a diferença? Por que alguns parâmetros têm um duplo "-" e alguns apenas um único prefixo "-"? Existe uma convenção de uma razão técnica por trás disso?

Exemplo de possíveis parâmetros git . (Veja --exec-path[=<path>] vs. -c name=value )

git [--version] [--help] [-C <path>] [-c name=value]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]
    
por powtac 05.01.2016 / 18:38

1 resposta

1

Depende da linguagem do aplicativo escrito. Por exemplo, no bash você pode analisar argumentos curtos ( - ) com os getopt e getopts e os longos ( -- ) com getopt apenas.

getopts é uma função bash, getopt é um programa separado. Portanto, para máxima portabilidade dos seus scripts bash, você precisa usar getopts e short notation.

Para outros idiomas, você pode consultar a seção "argumentos de análise" da documentação apropriada.

    
por 05.01.2016 / 18:56