Sujet : Re: Early history of Bash
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.unix.shellDate : 27. Jan 2025, 00:43:44
Autres entêtes
Organisation : None to speak of
Message-ID : <87zfjd9m4v.fsf@nosuchdomain.example.com>
References : 1 2 3 4 5 6 7
User-Agent : Gnus/5.13 (Gnus v5.13)
Christian Weisgerber <
naddy@mips.inka.de> writes:
On 2025-01-26, Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
This is obviously deliberate, and I see similar code (without the
posixly_correct condition) in bash 1.05 from 1990.
>
According to Wikipedia, POSIX began in 1988, and the initial
release of bash was in 1989, just a year later. Obviously the
authors thought that expanding literal '~'s in $PATH was a good
idea at the time, and it's not suprising that they didn't pay much
attention to POSIX. It would have been nice if they'd documented it.
>
In recent years, I've been wondering about the early history of
Bash, but cursory searches came up empty. Versions before 1.14
have even been expunged from ftp.gnu.org.
>
My vague impression is that Bash started as an attempt to combine
csh and sh, but it's not clear to me how soon people noticed the
infeasibility and pivoted to a sh-based model. Or maybe that's not
at all how it happened.
>
If anybody has pointers to the early history or old source code,
I'd love to know.
The oldest version I've found is 1.05.
bash is maintained in a git repo at
git://git.savannah.gnu.org/bash.git
but the earliest commit is :
commit 726f63884db0132f01745f1fb4465e6621088ccf
Author: Jari Aalto <
jari.aalto@cante.net>
Date: 1996-08-26 18:22:31 +0000
Imported from ../bash-1.14.7.tar.gz.
so it doesn't have the full history.
I downloaded a tarball for bash 1.05 from oldlinux.org.
It's been reorganized since then and moved to GitHub.
https://github.com/oldlinux-web/oldlinux-files/tree/master/gnu/bashhas 1.05, 1.13.5, and 1.14, from 1990, 1993, and 1994, respectively.
The direct download URLs are:
https://github.com/oldlinux-web/oldlinux-files/raw/refs/heads/master/gnu/bash/bash-1.05-linux.tar.gzhttps://github.com/oldlinux-web/oldlinux-files/raw/refs/heads/master/gnu/bash/bash-1.13.5.tar.gzhttps://github.com/oldlinux-web/oldlinux-files/raw/refs/heads/master/gnu/bash/bash-1.14.tar.gzbash-1.05-linux.tar.gz isn't just the original bash 1.05 sources. The
tarball includes object and executable files from a build apparently
done in 2004 for a Linux i386 system. There are also some changes to
some of the source files to let it build on Linux.
I've just created a GitHub repo that includes the original
bash-1.05.tar.gz, which doesn't appear to be available elsewhere :
https://github.com/Keith-S-Thompson/old-bash-- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.comvoid Void(void) { Void(); } /* The recursive call of the void */