Como Ivanivan observou, a interpretação dos parâmetros de linha é feita pelo programa ( useradd
) no seu caso. Muitos programas não se importam com a ordem dos parâmetros, mas alguns fazem.
convert
(do pacote imagemagick) converte imagens e especifica:
convert [input-option] input-file [output-option] output-file
Portanto, as opções de entrada devem ser especificadas antes do arquivo de entrada e similares para as opções de saída.
Existem exemplos muito mais complicados, como compiladores, que precisam de opções para estarem em uma ordem específica para funcionar corretamente.
Em todos os casos, é aconselhável consultar o man pages
do comando, ou o --help (ou -h ou -? ou qualquer outro) do programa que você deseja executar. As coisas podem dar errado ...