Da dove viene la convenzione di utilizzare i trattini singoli per le lettere e i trattini doppi per le parole e perché si continua ad essere utilizzati?
Ad esempio, se digito ls --help
, vedi:
-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 ~
...
Ho provato a cercare su Google - and -- convention
anche con virgolette con scarso successo.
Risposta accettata:
In The Art of Unix Programming Eric Steven Raymond descrive come si è evoluta questa pratica:
Nella tradizione Unix originale, le opzioni della riga di comando sono lettere singole precedute da un singolo trattino... Lo stile Unix originale si è evoluto su lenti teletipi ASR-33 che hanno reso la concisione una virtù; quindi le opzioni a lettera singola. Tenere premuto il tasto Maiusc richiedeva uno sforzo effettivo; quindi la preferenza per il minuscolo e l'uso di "-" (piuttosto che il forse più logico "+") per abilitare le opzioni.
Lo stile GNU utilizza le parole chiave delle opzioni (piuttosto che le lettere delle parole chiave) precedute da due trattini. Si è evoluto anni dopo, quando alcune delle utilità GNU piuttosto elaborate hanno iniziato a esaurire le chiavi di opzione di una sola lettera (questo costituiva una patch per il sintomo, non una cura per la malattia sottostante ). Rimane popolare perché le opzioni GNU sono più facili da leggere rispetto alla zuppa alfabetica degli stili più vecchi.
[1] http://www.catb.org/esr/writings/taoup/html/ch10s05.html