En el manual de GNU para tar
, hay el siguiente ejemplo para mostrar que el orden de las opciones es importante:
tar -cfv collection.tar blues folk jazz
En este caso, porque v
se coloca después de f
, entonces el archivo tar se llamará “v”, y tar
intentará agregar collection.tar
al archivo si existe en el directorio actual. Pero si omito el -
desde el principio, entonces el comando funciona como nos gustaría, a pesar de v
se coloca después de f
. ¿Por qué?
Respuesta aceptada:
Porque esa es la forma en que funcionan los diferentes estilos de opciones y se comportan de manera diferente.
Los estados de la página de manual para UNIX o estilo de opción corta , el que tiene como prefijo un solo guión.
Cualquier cantidad de opciones que no toman argumentos se pueden agrupar después de un solo guión, p. -vkp. Las opciones que toman argumentos (ya sean obligatorios u opcionales) pueden aparecer al final de dicho grupo, p. -vkpf a.tar.
El estilo de opción de estilo tradicional , el que no tiene guiones:
En el estilo tradicional, el primer argumento es un grupo de letras de opciones y todos los argumentos subsiguientes proporcionan argumentos a aquellas opciones que los requieren. Los argumentos se leen en el mismo orden que las letras de opción. Todas las palabras de la línea de comandos que quedan después de que se hayan procesado todas las opciones se tratan como argumentos no opcionales:archivos o nombres de miembros del archivo.
Como puede ver, el estilo UNIX o de opción corta espera argumentos para las opciones directamente después de la opción.
Mientras que el estilo de opción de estilo tradicional espera un bloque de opciones y argumentos adecuados a las opciones en el orden correcto.