Bash – Why does brace expansion range use two dots instead of three (ellipsis)

bashbrace-expansionhistoryzsh

I finally understood/discovered why I never got to using bash's (and also zsh's) brace expansion range properly: the syntax is {1..10} instead of what I assumed to be an ellipsis, i.e. {1...10}.

May I know why two dots was chosen over three dots? Usage of ellipsis in computer programming is common and well-understood as indicated by the (Wikipedia) link, which is why this piqued my curiosity.

Best Answer

(posting as community wiki instead, thanks to the contributions in the comments)

It is mentioned in the book From Bash to Z Shell (Chapter 8, Page 186, "Generating Numbers with Braces") that this syntax is borrowed from Perl.

In addition, it is also suggested that Pascal had the .. range notation dating back as far back as 1970 (emphasis mine) ("The Programming Language Pascal", Section 6.1.2, Page 17 of the linked PDF).

In conclusion, even the Wikipedia link from the question stated some examples where .. is used. The assumption that an ellipsis is strictly defined as a sequence of three dots, as it is as a punctuation mark, does not hold true here.