J'ai finalement compris / découvert pourquoi je n'ai jamais pu utiliser correctement la plage d'expansion d'accolade de bash
(et aussi zsh
de): la syntaxe est {1..10}
au lieu de ce que je supposais être une ellipse , c'est-à-dire {1...10}
.
Puis-je savoir pourquoi deux points ont été choisis plutôt que trois points? L'utilisation des points de suspension dans la programmation informatique est courante et bien comprise comme l'indique le lien (Wikipedia), c'est pourquoi cela a piqué ma curiosité.
n1..n2
dans la programmation pour désigner une plage de n1 à n2 est antérieure à Perl. Voir ce Manuel d'utilisation Pascal de 1970, section 6.1.2 à la page 17 ...
vs...
pour inclure le bon point de terminaison ou non, mais je peux me tromper. (Ruby? Était-ce Ruby?)Réponses:
(publication en tant que wiki communautaire à la place, grâce aux contributions dans les commentaires)
Il est mentionné dans le livre From Bash to Z Shell (Chapter 8, Page 186, " Generating Numbers with Braces ") que cette syntaxe est empruntée à Perl .
De plus, il est également suggéré que Pascal avait la
..
notation de plage qui remonte à 1970 (c'est moi qui souligne) (" The Programming Language Pascal ", Section 6.1.2, Page 17 du PDF lié).En conclusion, même le lien Wikipédia de la question indiquait quelques exemples d'
..
utilisation. L' hypothèse selon laquelle une ellipse est strictement définie comme une séquence de trois points, comme c'est un signe de ponctuation , ne se vérifie pas ici.la source