Quando as opções de comando estão prefixadas com dois hifens '-'? [duplicado]

-2

Quais são as regras gerais para saber quando as opções de comando são prefixadas por -- em oposição a - ?

Editar: Uma resposta referenciando uma fonte canônica, como a da steeldriver, é a preferida. Uma duplicata sugerida refere-se à Wikipedia, que está bem, mas provavelmente não é tão boa quanto um link de documentação do GNU.

Segunda edição: acho que o título não é meu original, por isso, se induzir em erro, desculpe, não foi minha edição. Isso provavelmente explica por que alguns comentários me direcionam para a man page.

    
por H2ONaCl 20.12.2015 / 21:03

4 respostas

4

Em geral, o traço único - apresenta opções de letra única, em que a letra é um mnemônico para o nome da opção.

O traço duplo -- introduz nomes longos de opções, em que o nome da opção é uma palavra inteira.

AFAIK esta convenção foi introduzida na década de 1980 pelos utilitários da FSF GNU. Observe que o padrão POSIX recomenda opções de traço único, com exceção de um traço duplo para indicar o fim de a lista de opções.

Veja também

por andy256 20.12.2015 / 22:06
2

- geralmente é seguido apenas por um único caractere. Esta é uma herança do Unix. -- geralmente é seguido por vários caracteres (geralmente palavras ou sentenças), isso vem do projeto GNU. Geralmente os comandos (principalmente os utilitários GNU) vêm com dois tipos de parâmetros, - e -- . Por exemplo, no comando ls , os parâmetros -a e --all fazem exatamente a mesma coisa, mas um é uma palavra inteira e o outro é uma única letra.

Ter uma palavra inteira como parâmetro pode ser útil para scripts, por exemplo, porque os desenvolvedores podem lê-los e interpretar os parâmetros dos comandos mais facilmente.

Por outro lado, ter um parâmetro de letra única pode ser útil quando você está em um terminal e deseja executar comandos mais rapidamente.

Se você tiver dúvidas sobre os parâmetros que um comando pode tomar, tente alguns comandos como:

command --help
command -?
man command

O comando man dará uma explicação mais detalhada, mas alguns comandos não possuem páginas man (manuais).

    
por Eduardo Cola 20.12.2015 / 21:50
2

Geralmente, uma linha de comando possui três partes:

command -option argument 

Então, - este é conhecido como opção e -- este é chamado de opção longa. Basicamente, ele quase faz os mesmos trabalhos, mas você tem que desafiar suas opções claramente com o último.

Aqui estão alguns exemplos de - e -- que você pode usar com o comando ls

    
por riashatrafat 20.12.2015 / 22:25
2

Sobre argumentos

Como @kos mencionions, o uso de - , -- ou nenhum hífen de todo depende da escolha do desenvolvedor do programa.

O comando para executar o programa em si é o primeiro argumento (índice 0 ), o segundo argumento (e mais) é definido pelo aplicativo.

Um exemplo em python:

if sys.argv[1] == "peanutbutter":
    print("monkey")

imprimirá "macaco" se o aplicativo for chamado com:

<application> peanutbutter

Se o código é:

if sys.argv[1] == "--peanutbutter":
    print("monkey")

O mesmo acontecerá quando o aplicativo for executado com:

<application> --peanutbutter

Tão simples quanto isso. Freqüentemente, o uso de - ou -- é convencional .

    
por Jacob Vlijm 20.12.2015 / 22:22