Timeline for Why was colon chosen as path separator
Current License: CC BY-SA 4.0
27 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| S Apr 11, 2024 at 14:06 | history | suggested | Amazon Dies In Darkness | CC BY-SA 4.0 |
Upgraded link to HTTPS, added missing word
|
| Apr 11, 2024 at 10:43 | review | Suggested edits | |||
| S Apr 11, 2024 at 14:06 | |||||
| May 23, 2017 at 12:40 | history | edited | CommunityBot |
replaced http://stackoverflow.com/ with https://stackoverflow.com/
|
|
| Apr 13, 2017 at 12:37 | history | edited | CommunityBot |
replaced http://unix.stackexchange.com/ with https://unix.stackexchange.com/
|
|
| Nov 15, 2016 at 21:42 | answer | added | user31223 | timeline score: 11 | |
| Oct 24, 2016 at 21:31 | comment | added | user192663 | I guess colon was simply chosen because it had served as separator in /etc/passwd (which also needs to separate paths) , so why chose any other character? And a workaround for PATH containing a colon in its name could be solved by creating a symlink, without colon in its name, to the one with a colon, and put the symlink's name in PATH. | |
| Sep 24, 2016 at 1:22 | comment | added | G-Man Says 'Reinstate Monica' |
@rudimeier: Well, back in the 1970s, there weren't popular file systems; there was the Unix file system. Then, when Unix Version 7 came along, there was the Unix Version 7 file system. But to answer your question, it has always been the case that all characters are allowed in filenames except for / (slash) and nul.
|
|
| Sep 23, 2016 at 12:54 | history | edited | Lesmana | CC BY-SA 3.0 |
added 355 characters in body; edited title
|
| Sep 22, 2016 at 22:24 | comment | added | rudimeier | Was colon allowed in file names on the popular file systems at this time ? | |
| Sep 22, 2016 at 22:00 | comment | added | G-Man Says 'Reinstate Monica' |
(Cont’d) … The Mashey shell supported 26 shell variables (guess what their names were) — and variable p was the search path (called “the Shell directory search sequence for command execution”), with directories separated by colons. … … … … … … … … … … … … … … … … … … … … … … … Fun fact: while the Mashey shell processed the .profile file, it also allowed you to specify an initial $p value in file called .path.
|
|
| Sep 22, 2016 at 21:50 | comment | added | G-Man Says 'Reinstate Monica' |
There might not have been a shell/environment variable called PATH before the introduction of Unix Version 7 (in 1979), but there was a :-delimited search path as early as 1977. PWB/Unix (Programmer’s Workbench) used the Mashey shell, written by John R. Mashey, which fell chronologically between the Thompson shell and the Bourne shell. … (Cont’d)
|
|
| Sep 22, 2016 at 20:35 | review | Close votes | |||
| Sep 23, 2016 at 7:11 | |||||
| Sep 22, 2016 at 18:40 | history | tweeted | twitter.com/StackUnix/status/779027563993784320 | ||
| Sep 22, 2016 at 15:39 | history | reopened |
Lesmana don_crissti Anthony Geoghegan Stéphane Chazelas chaos |
||
| Sep 22, 2016 at 10:24 | comment | added | Anthony Geoghegan |
Thanks, @StéphaneChazelas I always enjoy learning this type of history and finding out how Unix-like operating systems evolved to what they are today. (I've just realised that my first comment doesn't make it clear that I was referring to the use of colons in /etc/passwd as stated in your first comment).
|
|
| Sep 22, 2016 at 9:54 | comment | added | Stéphane Chazelas |
@AnthonyGeoghegan, yes though until V7, that was hardcoded in the commands that execute commands like the shell. $PATH came with V7 along with the Bourne shell and execvp()
|
|
| Sep 22, 2016 at 9:08 | comment | added | Anthony Geoghegan |
@StéphaneChazelas I read in Doug McIlroy's Annotated Excerpts that “Then in v3 /bin overflowed the small (256K), fast fixed-head drive. Thus was /usr/bin born, and the idea of a search path reinstated.”
|
|
| Sep 22, 2016 at 9:01 | comment | added | Stéphane Chazelas | @AnthonyGeoghegan, note that $PATH was not introduced until Unix V7 (released in 1979), while /etc/passwd was there from the start | |
| Sep 22, 2016 at 8:25 | comment | added | Anthony Geoghegan | I spent about half an hour yesterday researching this question. I read the 1971 Unix Programmer's Manual which specifies the use of a colon but not the reason why colon was chosen over (e.g.) pipe symbol. I also read as much as I could about Multics but it, apparently, only had one directory in its PATH (so no need for separator). I doubt we'll get a good answer here but if there's a chance that some veteran Unix user could answer this question, I'd like them to have the opportunity, so I'm voting to re-open. | |
| Sep 22, 2016 at 8:05 | review | Reopen votes | |||
| Sep 22, 2016 at 15:39 | |||||
| Sep 22, 2016 at 7:46 | comment | added | Lesmana | please reopen question as discussed here: meta.unix.stackexchange.com/questions/4163/… | |
| Sep 21, 2016 at 17:39 | history | closed |
Stephen Harris dr_ Archemar Chris Davies Anthon |
Opinion-based | |
| Sep 21, 2016 at 13:38 | review | Close votes | |||
| Sep 21, 2016 at 17:39 | |||||
| Sep 21, 2016 at 13:15 | review | Suggested edits | |||
| Sep 21, 2016 at 13:19 | |||||
| Sep 21, 2016 at 13:07 | comment | added | Stéphane Chazelas |
ash also treats % specially in $PATH.
|
|
| Sep 21, 2016 at 13:06 | comment | added | Stéphane Chazelas |
That's also the separator for /etc/passwd (that also contains paths in the home and shell columns).
|
|
| Sep 21, 2016 at 13:03 | history | asked | Lesmana | CC BY-SA 3.0 |