Ho notato che le pagine man e altri documenti formattati dalle utility Unix spesso usano doppi backtick ``
seguito da virgolette singole ''
per racchiudere le frasi tra virgolette invece del carattere di virgolette doppie "
. Le virgolette singole vengono sostituite in modo simile. Perché è questo?
Ecco un paio di esempi, dalla pagina man di grep
:
To find all occurrences of the pattern `.Pp' at the beginning of a line:
$ grep '^.Pp' myfile
The apostrophes ensure the entire expression is evaluated by grep instead
of by the user's shell. The caret `^' matches the null string at the
beginning of a line, and the `' escapes the `.', which would otherwise match
any character.
The grep utility is compliant with the IEEE Std 1003.1-2008 (``POSIX.1'')
specification.
Risposta accettata:
La semantica e i soliti glifi per questi personaggi sono cambiati
(più volte) negli ultimi 50 anni.
I predecessori a sei bit di ASCII contenevano vari caratteri multiuso,
incluso un singolo carattere simile a virgolette
, che veniva utilizzato per qualsiasi cosa avesse una qualche somiglianza con
una citazione:virgoletta di apertura, citazione di chiusura,
apostrofo o (sovrastampando) accento acuto o grave.
ASCII ha introdotto un altro carattere simile a virgolette, così ora abbiamo
'
, usato come apostrofo, virgoletta di chiusura e
accento acuto e `
, che era usata come citazione di apertura o
accento grave (i glifi concreti differivano in vari tipi di carattere).
Per qualche strano motivo, ISO-8859-1 ha dichiarato '
essere un
apostrofo o citazione non orientata, dichiarato `
per essere un
accento grave, ha aggiunto un altro accento ´
(accento acuto), e sovrastampa abolita (così che i segni isolati dell'accento
erano ormai completamente inutili). Le estensioni successive (codici di MS-Windows
e Unicode) hanno risolto il problema introducendo nuovi caratteri di virgolette diretti
e combinando gli accenti.
Quello che vedi qui è essenzialmente un relitto dei tempi ASCII, quando la maggior parte dei caratteri
aveva glifi accoppiati (obliqui e/o ricci) per '
e `
.