Quando a ordem dos argumentos é importante?

3

No bash, não tenho certeza se minha observação está correta. Para a maioria dos comandos, argumentos como opção, ou seja, argumentos que começam com --abc ou -a , podem estar em qualquer lugar na lista de argumentos do comando, enquanto outros argumentos têm alguma posição fixa na lista de argumentos.

Eu queria saber se existem algumas regras escritas / não escritas sobre isso? Obrigado!

    
por Tim 21.07.2011 / 15:59

3 respostas

9

Em suma - isso depende do programa. O que o bash faz é enviar os argumentos para a função principal do programa, que a partir de então decide o que fazer com eles. Alguns programas não se importam com a ordem dos argumentos, alguns levam isso em consideração.

    
por 21.07.2011 / 16:24
1

man commandName Irá lhe dizer se é importante para o comando que você está tentando usar, geralmente, alguma coisa que começa com - são opções que modificam o comportamento do comando, e as outras são argumentos (você pode pegar como entrada) para o comando.

    
por 21.07.2011 / 19:02
0

Aqui está um exemplo notável em que a ordem dos argumentos de um programa é importante: Comparar saída de:

find . -type f -atime 0 -daystart

com:

find . -type f -daystart -atime 0

(Em uma unidade que armazena o arquivo atime , eu preciso adicionar esses dias). Existem muitas páginas Web dedicadas a começar com find(1) , mas quase nenhuma menciona o fato de que find , por exemplo, é MUITO particular sobre a ordem de seus argumentos.

    
por 26.12.2013 / 13:30