GNU/Linux >> Tutoriales Linux >  >> Linux

¿Guiones simples `-` para opciones de un solo carácter, pero guiones dobles `–` para palabras?

¿De dónde viene la convención de usar guiones simples para las letras y guiones dobles para las palabras y por qué se sigue usando?

Por ejemplo, si escribo ls --help , ves:

  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print octal escapes for nongraphic characters
      --block-size=SIZE      use SIZE-byte blocks
  -B, --ignore-backups       do not list implied entries ending with ~
...

Intenté buscar en Google - and -- convention incluso con comillas con poco éxito.

Respuesta aceptada:

En El arte de la programación de Unix, Eric Steven Raymond describe cómo evolucionó esta práctica:

En la tradición original de Unix, las opciones de la línea de comandos son letras individuales precedidas por un solo guión... El estilo original de Unix evolucionó en los lentos teletipos ASR-33 que hicieron de la brevedad una virtud; por lo tanto, las opciones de una sola letra. Mantener presionada la tecla de mayúsculas requería un esfuerzo real; por lo tanto, la preferencia por las minúsculas y el uso de "-" (en lugar del quizás más lógico "+") para habilitar las opciones.

El estilo GNU utiliza palabras clave de opción (en lugar de letras de palabras clave) precedidas por dos guiones. Evolucionó años más tarde, cuando algunas de las utilidades bastante elaboradas de GNU comenzaron a quedarse sin claves de opción de una sola letra (esto constituyó un parche para el síntoma, no una cura para la enfermedad subyacente ). Sigue siendo popular porque las opciones de GNU son más fáciles de leer que la sopa de letras de estilos más antiguos.

[1] http://www.catb.org/esr/writings/taoup/html/ch10s05.html


Linux
  1. 6 opciones para tcpdump que necesitas saber

  2. ¿Envolviendo un comando que incluye comillas simples y dobles para otro comando?

  3. ¿Qué es un buen mnemotécnico para Shell Double vs. ¿Comillas simples?

  4. Linux – Referencias ¿Pero para Linux?

  5. xargs --replace/-I para argumentos individuales

Cómo buscar múltiples cadenas, patrones o palabras

Opciones de línea de comando GCC poco comunes pero útiles

Instale el subsistema de Windows para Linux con un solo comando

Limite el uso de memoria para un solo proceso de Linux

Expresión regular para encontrar caracteres dobles en Bash

Opciones de ajuste del rendimiento del sistema de archivos para ext3