Terminal input, shells and so on were all rudimentary by modern standards in v6. By v7 things had become more familiar to 21st century folks. But for v6, although it was an advancement on many systems extant at the time (although not all), the clunky nature of this generated a vast flurry of hackery around terminal drivers and shells. It's a messy history.

For the record, our v5/v6 lab in Toronto had mostly paper terminals, despite being a graphics lab, and one of them, the DECWriter, didn't even have lower case. Be thankful for your current setup.

One example of the limitations: in v6 you could not pipe into a shell script because the shell used the script itself as standard input. And the argument list was limited to 512 bytes.*

But hey, in v1 there weren't even multipart path names.

-rob

* My first day at Google using Linux in 2002, I got "arg list too long" with a modest glob pattern, and thought, what, have we forgotten about dynamic memory allocation? Moving to a Unix system after a decade plus on Plan 9 was a shock.

On Sun, Feb 27, 2022 at 8:48 AM Brian Walden <tuhs@cuzuco.com> wrote:
6th Edition used the Thompson shell as /bin/sh. I don't think it had
those capabilities. Sometimes you could find an early version of the
Bourne shell in /bin/nsh (new shell) in v6.

The 7th Edition made the Bourne shell /bin/sh. And there sometimes
you could find the Thompson shell in /bin/osh (old shell).

Will Senn wrote:
> Login commands question:
>
> I'm sure it's simple, but I can't figure it out. How do I get something
> to run at login in v6? Right now, I use ed to create a file 'setprof'
> that contains:
>
>     stty erase[space][backspace][return]
>     stty nl0 cr0
>
> Then after logging in:
>
>     sh setprof
>
> It works, but, it is pretty clunky.
>
> stty question:
>
> So, I looked at stty.c and it looks like the following should work, if
> the terminal is sending ^H for backspace:
>
>     #define BS0     0
>     #define BS1     0100000
>
>     modes[]
>     ...
>              "bs0",
>              BS0, BS1,
>
>              "bs1",
>              BS1, BS1,
>
>
> but:
>
>     stty bs0
>     or
>     stty bs1
>
> don't result in proper backspace handling..
>
> but:
>
>     stty[space][^h][return]
>
>
> works...
>
> Thoughts?