Comando 'localizar' com um único traço à esquerda [duplicado]

0

Na página de manual do comando find ,
Eu encontrei opções de -depth , -delete , -exec e etc seu símbolo principal é único - em vez de um duplo como --

Por outro lado, há git log --oneline , git log --graph e --python ,
que são fáceis de distinguir os nomes completos e comandos abreviados

Por que o comando find não segue essa prática?

    
por JawSaw 27.03.2018 / 12:08

1 resposta

3

Porque find é um utilitário padronizado por POSIX e git não é . Portanto, os desenvolvedores git estão livres para implementar suas opções / operandos da maneira que julgarem adequada.

Os utilitários POSIX usam - para introduzir opções, e implementações desses utilitários (como ls etc.) sempre os implementam da maneira prescrita pelo padrão POSIX. Então, para alguns utilitários, existe uma opção adicional "long option" de algumas opções padrão junto com extensões que nem sequer são mencionadas pelo POSIX.

No caso de find , estes não são estritamente "opções", mas "operandos" (também chamados de "primários" ou "predicados" dependendo do manual que você está lendo) que formam "expressões de operandos" e atuar no nome do caminho que find está processando atualmente. As opções reais do padrão find são apenas -H (links simbólicos de referência) e -L (não desreferencia links simbólicos). Você notará a diferença no manual onde as opções e os operandos são divididos em seções separadas.

Também para git , estas não são "opções verdadeiras" quando especificadas na linha de comando da maneira como são feitas na questão, mas operandos. As opções são sempre especificadas antes de não-opções e quaisquer argumentos de linha de comando após a última opção são apenas "operandos". Eles podem muito bem ser traduzidos para opções verdadeiras para o subcomando que git chama depois.

    
por 27.03.2018 / 12:12

Tags