Existe uma diferença entre um sinalizador de linha de comando e uma opção de linha de comando?

5

Estou ouvindo esses dois termos de forma intercambiável e estou me perguntando se existe alguma diferença entre eles, como sinalizadores para opções de uma letra ou sinalizadores após um único traço.

    
por yoyo_fun 26.04.2016 / 19:18

2 respostas

7

Você provavelmente encontrará "argumentos", "opções" e "opções" também são frequentemente usados de maneira intercambiável neste contexto.

"Sinalizadores" especificamente são argumentos booleanos, definidos pela mera inclusão do argumento da linha de comando, sem dados adicionais necessários ou permitidos para o argumento. Se você incluir o argumento / opção / sinalizador, ele será considerado "verdadeiro" e, se você o excluir, será considerado "falso".

Argumento de tipo de argumento de exemplo:

command.exe -DeleteFiles

Exemplo de argumento sem sinalizador:

command.exe -ServerName my.server.com

Mais informações

    
por 26.04.2016 / 19:38
1

De acordo com o Crie aplicativos de linha de comando impressionantes no Ruby 2 a principal distinção é: a switch não aceita argumentos, enquanto flag aceita argumentos. Citando diretamente do livro (página 15):

Normalmente,seumcomutadorestivernoformatolongo(porexemplo,--foo),oqueativaalgumcomportamento,hátambémoutrocomutadorprecedidoporno-(porexemplo,--no-foo)quetransformafora"o comportamento.

Por fim, os sinalizadores de formato longo recebem seu argumento por meio de um sinal de igual, enquanto na forma abreviada de um sinalizador, um sinal de igual geralmente não é usado. Por exemplo, o comando curl , que faz solicitações HTTP, fornece sinalizadores de formato curto e de formato longo para especificar um método de solicitação de HTTP: -X e --request , respectivamente. As seguintes invocações de exemplo mostram como passar corretamente argumentos para esses sinalizadores:

curl -X POST http://www.google.com
curl --request=POST http://www.google.com
    
por 22.02.2017 / 21:17