bash: --argument vs -arg [duplicado]

2

Na maioria dos scripts (mas principalmente no bash), é comum ver alguns argumentos configurados da seguinte forma:

bash-4.3:$ command --longer-argument -la

De onde isso surgiu? Estou principalmente curioso para saber por que isso se tornou efetivamente um padrão unânime. É principalmente por legibilidade?

Além disso, por que não usar algo como

bash-4.3:$ command -longer-argument , onde todos os argumentos da CLI são especificados por apenas um traço?

    
por Jeeter 10.06.2016 / 22:34

2 respostas

1

Isso pode ser útil (por tar , mas acho que pode ser estendido a outros programas também): link

Long options are meant to be obvious and easy to remember, and their meanings are generally easier to discern than those of their corresponding short options (see below). For example:

$ tar --create --verbose --blocking-factor=20 --file=/dev/rmt0

gives a fairly good set of hints about what the command does, even for those not fully acquainted with tar.

Além disso, este link Padrões para interfaces de linha de comando .

E aqui está uma piada sobre as opções longas do GNU: link

Normalmente, a execução de command -h/--help mostra quais opções (curtas / longas) o comando fornece.

    
por 10.06.2016 / 22:54
0

Você não pode desambiguar opções com argumentos um do outro, a menos que um traço duplo represente um longo e um único traço signifique um curto.

-f file

... significaria a opção -f com seu argumento file

... enquanto --ffile seria uma opção totalmente diferente sem um argumento.

    
por 10.06.2016 / 23:04